Séparer un texte selon un délimiteur

Temps de lecture : 3 minutes

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.

Adresses a separer sur le delimiteur 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.

  1. Sélectionnez la colonne qui contient les données à séparer.
  2. Cliquer sur le menu Données > Convertir.
Menu Convertir
  1. Dans l'étape 1, choisissez l'option "Délimité" et appuyer sur Suivant.
Boite de dialogue pour Separer sur un delimiteur
  1. 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, ...).
Etape 2 pour specifier le separateur pour decouper le texte

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

Resultat apres separation sur le delimiteur virgule

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

Explication du decoupage par loutil Convertir

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.

Fonction personnalisee pour separer du texte 1

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.

Adresses avec alignement a droite

Vous trouverez des informations complémentaires sur fractionner du texte en plusieurs colonnes sur le site de Microsoft.

4 Comments

  1. Félix
    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

    Reply

    • Frédéric LE GUEN
      03/05/2022 @ 12:53

      Si j'ai bien compris votre question, il faut utiliser la fonction JOINDRE.TEXTE

      Reply

  2. Ephram
    19/02/2021 @ 14:56

    Merci pour cette astuce !!

    Reply

    • Frédéric LE GUEN
      19/02/2021 @ 18:31

      De rien ;)

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

MICROSOFT MVP

RECHERCHE D’EMPLOI AVEC

Back to top