Séparer le contenu d'une cellule selon un délimiteur est une manipulation bien plus fréquente qu'il n'y paraît. Cet article va vous montrer plusieurs techniques pour réussir ce travail.
Données d'illustration
Nous allons partir d'un fichier d'adresses où les différents éléments de l'adresse sont séparés par une virgule.

Séparer selon un délimiteur avec l'outil Convertir
Historiquement, c'est l'outil le plus ancien qui permet de séparer un texte selon un délimiteur.
- Sélectionnez la colonne qui contient les données à séparer.
- Cliquer sur le menu Données > Convertir.



- Dans l'étape 1, choisissez l'option "Délimité" et appuyer sur Suivant.



- Dans l'étape 2, Sélectionnez le séparateur "Virgule" puis cliquer sur Terminer. Bien sûr, selon votre cas, il faudra choisir le séparateur adapté (espace, point-virgule, ...).



Instantanément, les données contenues dans la colonne se trouvent découpées dans plusieurs autres colonnes.



En fait, pour chaque délimiteur trouvé dans la cellule initiale, le résultat sera écrit dans autant de colonnes.



Limite de cette technique
Bien que très simple à utiliser, cet outil à de nombreux inconvénients.
Tout d'abord, il est impératif que les colonnes qui sont à la droite de la colonne à transformer soient vides. Si ce n'est pas le cas, les données qui seront séparées vont écraser les données présentes dans les autres colonnes. TRES GROS RISQUES DE PERTE de données.
Ensuite, si les données sont mises à jour, il faudra refaire les étapes de transformation.
Fonction personnalisée pour séparer du texte
Une technique pour contourner ce problème c'est d'utiliser la fonction personnalisée qui se sert de la fonction FILTRE.XML et SUBSTITUE.



Avec cette solution, il n'est pas possible de faire une séparation sur plusieurs séparateurs. Comme par exemple appliquer également un séparateur sur l'espace entre le code postal et la ville.
Par contre, en utilisant l'option séparateur de Power Query il est facile de gérer plusieurs délimiteurs. 😀👍
De même, avec une utilisation plus avancée de Power Query, il est possible d'inverser la présentation du résultat. C'est le cas pour des adresses qui n'ont pas le même nombre de séparateurs. Ici, nous respectons le découpage en partant de la droite de la chaîne de caractères.



Vous trouverez des informations complémentaires sur fractionner du texte en plusieurs colonnes sur le site de Microsoft.
02/05/2022 @ 15:24
Bonjour,
Est-il possible de faire la manip inverse?
J'ai cherché sur Excel et sur internet mais je suis bloqué.
Merci d'avance,
Félix
03/05/2022 @ 12:53
Si j'ai bien compris votre question, il faut utiliser la fonction JOINDRE.TEXTE
19/02/2021 @ 14:56
Merci pour cette astuce !!
19/02/2021 @ 18:31
De rien 😉