Séparation des données d'une colonne en trois colonnes (longueur variable)

0

Bonjour,

Je dispose d'une extraction Excel dont une colonne contient l'information suivante (en format standard, pas date) :

Lundi 01 Août 2016 00:00:01

Je souhaiterais que cette information puisse être répartie en 3 colonnes distinctes :

Lundi // 01 août 2016 // 00:00:01

J'ai essayé de me dépatouiller avec une série de Gauche / droite / cherche... Pour l'heure, un simple DROITE(cell;8) permet de résoudre le problème, mais pour les deux autres champs...

Le principal problème est que le nombre de caractères du jour varie (selon que ce soit lundi ou mercredi par exemple, idem pour le mois), et il n'y a pas d'autre séparateur que les espaces.

Auriez-vous une solution à m'apporter ?

Est ce qu'il serait possible par exemple de définir une liste de valeurs prédéfinies à rechercher dans la cellule : parmi les 7 jours de la semaine / les 12 mois de l'année et faire afficher la valeur trouvée ?

Merci d'avance,
Très bonne journée,
Cyrille

Posté le 17 août 2016, 09:46
par Cyrille
Répondre
1

Bonjour,

Je te propose la solution suivante :

http://www.cjoint.com/c/FHriVRAn0A3

Cliques sur le lien et suit les instructions pour récupérer le fichier

Cette solution consiste à chercher la date se trouvant forcément après le premier blanc dans le texte.  Comme on ne connait pas le nombre de caractères et pour ne pas compliquer inutilement la formule, on met 50 comme cela on n'est certain d'atteindre le bout de la zone texte (on pourrait calculer mais cela ne sert à rien). 

La fonction DATEVAL permet ensuite de calculer la date.  On met cette formule dans les 2 premières colonnes et après on règle le format des colonnes et on obtient le jour et la date.

Pour la troisième colonne il suffit d'utiliser la fonction DROITE de 8 caractères.

Merci de confirmer que cela convient.

A+

Chris

Posté le 17 août 2016, 10:55
par chris1945
0

Bonjour Chris, 

Merci beaucoup pour ton retour cela m'aide déjà bien et fonctionne effectivement !

J'en profite pour complexifier un tout petit peu la chose.. J'ai dans une colonne adjacente des valeurs numériques associées à chacune de ces dates. Je souhaite pouvoir effectuer des moyennes conditionnelles (moyenne.si.ens) 

==> par exemple dans ton fichier la moyenne pour toutes les cellules dont la valeur de la colonne B est "lundi" et celle de la colonne D comprise entre 00:00:00 et 01:00:00.

Avec la méthodologie que tu proposes, j'ai l'impression que bien que l'affichage de la cellule apparaisse comme "lundi", la valeur n'est pas reconnue en tant que telle et donc la formule renvoie une erreur

Tu as une idée ?

Encore merci, 

Cyrille

Posté le 17 août 2016, 11:49
par Cyrille
1

Cela serait plus simple si tu donnais TOUTES tes demandes en une fois ...

Bien, voici le fichier rectifié : http://www.cjoint.com/c/FHrqAIp7Yi3

Il a fallu :

1 transformer le jour en texte et non plus en date pour pouvoir tester

2 transformer les heures minutes en "TEMPS" pour pouvoir faire la moyenne car c'est naturellement impossible de calculer une moyenne sur du texte

3 je t'ai mis une petite table dans un 2ème onglet pour pouvoir te permettre de choisir ton jour en H1

4 j'ai prévu 100 lignes à toi de voir pour adapter si nécessaire (titres éventuels ; plus de lignes...)  il faudra, bien entendu adapter les formules).

Si tu as des questions sur les formules n'hésites pas à demander.

A+

Chris

Posté le 17 août 2016, 18:33
par chris1945
0

C'est parfait! Merci beaucoup Chris !

Très bonne journée,

Cyrille

Posté le 18 août 2016, 09:38
par Cyrille

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :