EXCEL - COMMENT FAIRE 3 COLONNES A PARTIR D'1 SEULE (résolu)

* Kassou
Anonyme
Envoyé le 20/10/2014 à 09:44

Bonjour,
J'ai copié un tableau (a partir d'un fichier adobe) et tout se retrouve dans 1 seule colonne qui contient du texte et des chiffres (aliment + indice glycémique). J'aimerai a partir de celle colonne en faire 3 distinctes.
Ex : Abricots (fruit frais) 30 Abricot (boîte, au sirop) 55 Ananas (boîte) 65
Je souhaiterai avoir :
Colonne A :
Abricots (fruit frais) 30
Colonne B :
Abricot (boîte, au sirop) 55
Colonne C :
Ananas (boîte) 65
Mon fichier est assez long et je ne suis pas du tout callée pour trouver la formule qui le fasse en une seul fois.
Merci à celle ou celui qui m'aidera.
Kassou


Claude40 Claude40
1 533 contributions
Membre depuis le 24/03/2010
Envoyé le 20/10/2014 à 14:20


Bonjour,

C’est assez complexe.
Il faut procéder en deux étapes distinctes.
a) Convertir les données de départ de façon à obtenir 4 colonnes A, B, C et D sur la feuille 1.
Sélectionner la colonne A
Onglet « Données » puis onglet « Convertir »
Dans le menu suivant cocher « Délimité », puis cliquer sur « Suivant ».
Dans la liste des séparateurs, cocher « autre » et saisir «)», parenthèse fermée, puis cliquer sur « Suivant »
Dans le menu suivant, cocher « Standard » et cliquer sur « Terminer »
Pour l’exemple donné on aura
Colonne A : Abricots (fruit frais
Colonne B : 30 Abricot (boîte, au sirop
Colonne C : 55 Ananas (boîte
Colonne D : 65
Vous remarquerez que les parenthèses fermées que l’on avait choisi comme séparateur ont disparu.
Les formules suivantes vont les rétablir.

b) Placer les formules suivantes sur la Feuille 2
A1 : =Feuil1!A1&")"&GAUCHE(Feuil1!B1;CHERCHE(" ";Feuil1!B1;2)-1)
B1 : =DROITE(Feuil1!B1;NBCAR(Feuil1!B1)-CHERCHE(" ";Feuil1!C1;2)+1)&")" &GAUCHE(Feuil1!C1;CHERCHE(" ";Feuil1!C1;2)-1)
C1 : =DROITE(Feuil1!C1;NBCAR(Feuil1!C1)-CHERCHE(" ";Feuil1!C1;2))&") " &Feuil1!D1

Etendre les cellules A1 à C1 sur autant de lignes que de lignes utiles sur la feuille 1.

Terminé.
Explications :
Il me paraît indispensable de procéder à la première étape de « conversion » des données pour simplifier les formules de calcul qui vont suivre.
On peut imaginer des formules à partir de la seule colonne A non convertie, mais elles seraient encore plus complexes.
On utilise les Fonctions GAUCHE, DROITE pour récupérer une partie des cellules et les fonctions CHERCHE et NBCAR pour compter le nombre de caractères
à récupérer ou les déplacement à effectuer, ceci pour tenir compte du fait que les quantités de produits ne seront pas forcément sur deux caractères.

Colonne A de la feuille 2 : On récupère ce qui est en A de la feuille 1 , on remet la parenthèse fermée et on ajoute la quantité qui se trouve à gauche de la colonne B de la feuille 1.
Colonne B de la feuille 2 : On récupère ce qui est à droite de la Colonne B de la feuille 1 (sans la quantité) on ajoute la parenthèse et ce qui est à gauche de la colonne C de la feuille 1.
Colonne C de la Feuille 2 : On récupère ce qui est à droite de la Colonne C de la feuille 1 (sans la quantité) on ajoute la parenthèse et ce qui est dans la colonne D de la feuille 1
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
* kassou
Anonyme
Envoyé le 21/10/2014 à 00:41

Bonjour Claude,
N'y aurai t'il pas une fonction qui prendrait le texte jusqu'au nombre et ainsi de suite ?
car là il s'agit de mettre l'aliment avec son indice glycémique.
Cdlt



Claude40 Claude40
1 533 contributions
Membre depuis le 24/03/2010
Envoyé le 21/10/2014 à 11:17


Bonjour,

C'est ce que ma solution réalise, je ne comprend pas la question.
J'obtiens bien, ce qui demandé dans la question d'origine.
S'agit-il d'une nouvelle demande ?
Un bon exposé du problème, c'est déjà un grand pas vers la solution. Dans la mesure du possible, mes solutions sont testées, sur mon système actuel (W10 Pro version 1909), mais peuvent ne pas fonctionner sur tous les Pc
Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 21/10/2014 à 23:27 Modifié par Pegase


Bonjour,

Une autre solution sans formule
Supposons que ta colonne initiale soit

Abricots (fruit frais) 30 Abricot (boîte, au sirop) 55 Ananas (boîte) 65
Pêche (fruit frais) 22 Pêche (boîte, au sirop) 33 Poire (boîte) 45


Tu la sélectionnes et la copie dans word
Dans word tu sélectionne tout (Ctrl+A)
Edition > Remplacer (Ctrl+H)
Dans le 1er champ tu tapes " 0 " Zéro espace sans les guillemets
Dans le 2e champs tu tapes "0;" Zéro point virgule
>> Remplacer tout


Attention n'oublie pas l'espace après le chiffre

Ce qui va ajouter à tous les nombres se terminant par 0 un ; (point virgule)
Tu continues en faisant

Dans le 1er champ tu tapes " 1 " Un espace sans les guillemets
Dans le 2e champs tu tapes "1;" Un point virgule
>> Remplacer tout
Ce qui va ajouter à tous les nombres se terminant par 1 un ;

Puis avec le 2 puis le 3 jusqu'à 9

Tu auras à la fin quelque chose comme

Abricots (fruit frais) 30;Abricot (boîte, au sirop) 55;Ananas (boîte) 65
Pêche (fruit frais) 22;Pêche (boîte, au sirop) 33;Poire (boîte) 45

Quand tu as fini tu sélectionnes tout le texte (Ctrl+A)
Tu choisis Tableau >> Convertir >> Texte en tableau
Tu choisis nb de colonnes 3 et comme séparateur le ; (point vitgule)


Tu vas obtenir ça


Tu sélectionnes tout le tableau dans word et tu le copies dans la cellule A1 de Excel



Le tour est joué. J'ai ainsi converti de nombreux grands tableaux
Bon courage
Pégase
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
* kassou
Anonyme
Envoyé le 22/10/2014 à 08:03

Bonjour,
Un grand merci à Claude et Pegase pour votre aide si précieuse.
Kassou



Pegase Pegase
1 023 contributions
Membre depuis le 07/02/2002
Envoyé le 22/10/2014 à 08:27


Bonjour,

Kassou tu ne dis pas si tu as réussi avec l'une ou l'autre des méthodes.
Moi, le jour où j'aurai vraiment mon âge, je mourrai (Léo Ferré).
* kassou
Anonyme
Envoyé le 22/10/2014 à 13:05

Bonjour,
Les 2 solutions ont parfaitement marchées ! Encore un grand merci a vous 2.
Kassou

Discussion trop ancienne

Cette discussion a été automatiquement fermée car elle n'a plus reçue de nouveau message depuis trop longtemps.

Nous vous suggérons de créer un nouveau message

« Retour sur la liste des messages de ce forum