Séparation d'une liste de mots dans plusieurs cellules

Bonjour à tous !

Après moult recherches infructueuses concernant mon cas, je viens solliciter vos avis éclairés

Dans une cellule, j'ai une liste de mots, chacun étant séparés par un espace.

Je souhaite, via une formule si possible, séparer chacun de ces mots dans une colonne de cellules.

Concrètement, ça donne :

A1

mot1 mot2 mot3

Je souhaite :

A

1 mot1

2 mot2

3 mot3

J'ai testé la fonction suivante, en vain: =SUBSTITUE(A1;" ";CAR(13))

Je vous remercie par avance pour votre aide, et vous souhaite une bonne fin de semaine !

Bonjour

Si j'ai bien compris, il faut mettre les mots de trouvant en A1 pour les avoir en A1, B1 et C1 ??

Si oui, utilise l'option Convertir disponible dans l'onglet DONNEES puis sélectionne la cellule A1, puis DONNEES - CONVERTIR et suis l'assistant

Crdlt

Bonjour Dan,

Tout d'abord, merci pour ta réponse! Effectivement, tu as bien compris ma requête

L'option convertir me permet d'arriver à mes fins. Cependant, il y a plusieurs freins (rédhibitoires dans mon cas) à son utilisation:

  • Ne peut être utilisée sur une cellule dont le contenu brut est situé sur une autre cellule (en l'occurrence, le contenu de mon A1 est situé sur une autre feuille).
  • Demande plusieurs manipulations manuelles (copier le contenu de la cellule source sur A1, la mettre en forme via un rechercher/remplacer par, configurer l'option convertir, copier/coller le résultat en transposant les données en colonne).

C'est pour ça que j'espère trouver une formule qui me donne le résultat escompté automatiquement, sans avoir recours à une macro (afin de faciliter la gestion ultérieur du fichier par d'autres personnes) ou à divers manipulations successives.

Pour l'instant, ce qui se rapprocherait le plus de ceci est la formule suivante: =SUBSTITUE(A1;" ";CAR(10))

Cependant, les mots sont listés au sein d'une même cellule, ce qui m'empêche d'utiliser le système de tri dont j'aurais besoin pour classer ces mots par ordre alphabétique, par exemple...

Donc si quelqu'un saurait si je pouvais remplacer le CAR(10) de ma précédente formule par quelque chose me renvoyant à la cellule d'en-dessous après chaque mot, je suis preneur (ou bien tout autre formule me permettant d'effectuer la même action, bien entendu).

Merci encore pour vos futurs réponses !

Bonjour à tous,

Afin de rendre un peu plus concret le résultat de ma requête, vous trouverez ci-joint un fichier Excel matérialisant le résultat escompté. Deux solutions sont utilisées, en partant d'une liste de mots figurant en A1:

  • A2: utilisation de la formule =SUBSTITUE(A1;" ";CAR(10)) sautant une ligne après chaque mot, mais ne séparant PAS chaque mot dans des cellules empilées (en colonne)
  • A4: point de départ d'une macro me permettant de réaliser concrètement ce que je souhaite (Mot1 en A4, Mot2 en A5, Mot3 en A6)

Ce que je souhaite, c'est obtenir le résultat de la seconde solution (A4) en utilisant la technique de la première solution (A2), via une fonction donc. Le but étant de ne pas rompre le lien entre A1 et A4-6 afin d'assurer une mise à jour de cette liste de mots en temps réelle et dans les deux sens (si on ajoute un mot Mot4 en A1, il viendra s'ajouter automatiquement en A7, et réciproquement en cas de suppression).

Est-ce que je suis clair dans mes propos, ou il y a besoin d'infos complémentaires?

Par avance, je vous remercie pour vos réponses

Re

sur base de la cellule A1, mettre ces formules

B1 --> =GAUCHE(A1;TROUVE(" ";A1;1)-1)

C1 --> =GAUCHE(STXT(A1;NBCAR(B1)+2;255);TROUVE(" ";STXT(A1;NBCAR(B1)+2;255);1)-1)

D1 --> =STXT(A1;NBCAR(B1)+NBCAR(C1)+2+1;255)

Si ok, merci de cliquer sur le V vert à coté du bouton EDITER pour cloturer le fil lors de ta réponse

Crdlt

Merci encore Dan pour cette nouvelle réponse

Ta solution marche, mais elle manque hélas de flexibilité et d'automatisme par rapport à mon cas. Effectivement, la liste de mots en A1 est susceptible d'évoluer avec des ajouts, suppressions et modifications au niveau des mots.

Si j'ai bien compris la logique de tes formules (je ne suis pas expert en la matière), si on ajoute un Mot4 et Mot5, ça donne:

B1 --> =GAUCHE(A1;TROUVE(" ";A1;1)-1)

B2 --> =GAUCHE(STXT(A1;NBCAR(B1)+2;255);TROUVE(" ";STXT(A1;NBCAR(B1)+2;255);1)-1)

B3 --> =GAUCHE(STXT(A1;NBCAR(B2)+7;255);TROUVE(" ";STXT(A1;NBCAR(B2)+7;255);1)-1)

B4 --> =GAUCHE(STXT(A1;NBCAR(B3)+13;255);TROUVE(" ";STXT(A1;NBCAR(B3)+13;255);1)-1)

B5 --> =STXT(A1;NBCAR(B3)+NBCAR(B4)+13+1;255)

Ce système de fonctions induit donc une mise à jours de celles-ci à chaque changement opéré dans la liste de mots, ce qui est rédhibitoire dans mon cas car ça me fera perdre le gain de temps espéré via ce nouveau système de fonctions.

Dans la logique des choses, la mise à jour doit se faire automatiquement, juste en ajoutant/supprimant/modifiant cette liste de mots.

Au niveau de la forme, cette liste de mots figurera dans un tableau dynamique avec système de tri, avec un mot par cellules disposées dans une colonne.

À terme, j'utiliserai ce tableau pour générer la liste de mots au sein d'une même cellule, d'où cette question subsidiaire: est-il possible de concaténer (via la fonction éponyme) au sein d'une même cellule le contenu d'une longue liste de cellules, sans pour autant renseigner indépendamment chaque cellule dans la fonction? Dans l'idée, et avec une syntaxe incorrecte, ça donnerait ceci =CONCATENER(A1:D1&A2:D2&A3:D3&A4:D4&A5:D5) (et ainsi de suite).

Je sais que ma demande est assez précise, et je vous remercie d'autant plus pour votre aide! Je continue néanmoins à chercher de mon côté, et je partagerai si je trouve la solution

Bonjour, Excel masters!

Je pense avoir "bricolé" une solution concernant la question subsidiaire de mon précédent message, à savoir:

Divelas a écrit :

est-il possible de concaténer (via la fonction éponyme) au sein d'une même cellule le contenu d'une longue liste de cellules, sans pour autant renseigner indépendamment chaque cellule dans la fonction? Dans l'idée, et avec une syntaxe incorrecte, ça donnerait ceci =CONCATENER(A1:D1&A2:D2&A3:D3&A4:D4&A5:D5) (et ainsi de suite).

Le but est d'effectuer 2 concaténations successives (une concaténation de cellules concaténées), et de dérouler la formule (coin en bas à droite) aux cellules d'en-dessous afin d'adapter automatiquement la formule à chaque ligne. Concrètement, voici le résultat:

......A.......B........C.............D...........................................................E

1...Je......suis...Mot1.....=CONCATENER(A1&B1&C1)....=D1

2...Tu.....es......Mot2.....=CONCATENER(A2&B2&C2)....=E1&D2

3...Il........est....Mot3.....=CONCATENER(A3&B3&C3)....=E2&D3

Ce qu'affiche la colonne E:

E1 JesuisMot1

E2 JesuisMot1TuesMot2

E3 JesuisMot1TuesMot2IlestMot3

On pourra rajouter des espaces entre les mots soit en les entrant directement dans les cellules, soit en incluant un " " dans les formules, entre les cellules concaténées.

Si vous voulez masquer les caractères sur les cellules E1:E2 (sans devoir masquer complètement la colonne) afin d'afficher seulement la dernière cellule de la colonne D (D3 en l'occurrence): clic droit sur les cellules sélectionnées E1:E2 > Format de cellule > Nombre > Personnalisée > Type ;;;

Je reste à l'écoute concernant la réponse à ma requête initiale, et je continue d'investiguer de mon côté!

Rechercher des sujets similaires à "separation liste mots"