Une cellule Excel contient parfois beaucoup plus d’informations qu’elle ne devrait. Un nom complet, une adresse, une référence produit ou une liste d’e-mails peuvent se retrouver regroupés dans une seule colonne, séparés par une virgule, un espace ou un point-virgule. Pratique pour importer des données… beaucoup moins pour les analyser.
La bonne nouvelle, c’est qu’Excel permet de fractionner un texte en plusieurs colonnes en quelques clics. Dans cet article, je vous montre la méthode la plus rapide, mais aussi les alternatives utiles selon votre version d’Excel et la nature de vos données.
Pourquoi séparer un texte en plusieurs colonnes dans Excel ?
Imaginez une colonne contenant les valeurs suivantes :
- Durand Nathan
- Martin Sophie
- Bernard Thomas
Si vous souhaitez trier les données par prénom, créer un publipostage ou générer une liste personnalisée, il est préférable de disposer d’une colonne « Nom » et d’une colonne « Prénom ». Même logique pour une adresse complète, une référence composée de plusieurs éléments ou un fichier exporté depuis un logiciel tiers.
Le fractionnement permet notamment de :
- séparer un prénom et un nom ;
- diviser une adresse en rue, code postal et ville ;
- extraire les éléments d’une référence produit ;
- transformer une liste séparée par des virgules en plusieurs colonnes ;
- récupérer les informations d’un fichier CSV mal importé ;
- faciliter les tris, filtres et recherches dans un tableau.
La méthode la plus accessible se trouve dans l’onglet Données : il s’agit de l’outil Convertir, aussi appelé Texte en colonnes selon les versions d’Excel.
La méthode rapide avec « Convertir »
Voici un exemple simple. Dans la colonne A, vous avez des noms et prénoms séparés par un espace :
- Durand Nathan
- Martin Sophie
- Bernard Thomas
L’objectif est d’obtenir le nom dans la colonne A et le prénom dans la colonne B.
Commencez par sélectionner la plage de cellules à fractionner. Vous pouvez sélectionner une seule colonne ou plusieurs lignes, mais évitez de sélectionner toute la feuille si ce n’est pas nécessaire. Excel risquerait de modifier des données situées à droite de la zone sélectionnée.
Rendez-vous ensuite dans l’onglet Données, puis cliquez sur Convertir. Un assistant s’ouvre alors pour vous guider.
Dans la première étape, choisissez Délimité. Cette option convient lorsque les éléments sont séparés par un caractère précis : espace, virgule, point-virgule, tabulation, etc. Cliquez sur Suivant.
Dans la deuxième étape, cochez le séparateur utilisé dans vos données. Pour notre exemple, cochez Espace. Excel affiche immédiatement un aperçu du résultat en bas de la fenêtre.
Cette prévisualisation est très utile : elle permet de vérifier que le découpage correspond bien à ce que vous souhaitez avant de valider. Si votre texte est séparé par des virgules, cochez Virgule. Pour un fichier CSV français, le séparateur sera souvent le point-virgule.
Enfin, choisissez le format des données et indiquez éventuellement la cellule de destination. Par défaut, Excel place le résultat à partir de la première cellule sélectionnée. Cliquez sur Terminer : les données sont réparties dans plusieurs colonnes.
Bien choisir le séparateur
Le séparateur est le caractère qui indique à Excel où couper le texte. Une erreur à cette étape peut produire un résultat surprenant, voire complètement inutilisable.
Les séparateurs les plus courants sont :
- L’espace pour séparer un prénom et un nom ;
- La virgule dans une liste ou un fichier exporté ;
- Le point-virgule dans de nombreux fichiers CSV français ;
- La tabulation pour des données copiées depuis un autre logiciel ;
- Le tiret dans une référence comme « CMD-2024-015 » ;
- Un caractère personnalisé, que vous pouvez saisir manuellement dans l’assistant.
Vous pouvez aussi cocher plusieurs séparateurs. Par exemple, une adresse comme « 12 rue Victor Hugo, 75015 Paris » contient à la fois des espaces et une virgule. Attention toutefois : cocher « Espace » séparera chaque mot, ce qui n’est probablement pas le résultat recherché.
Dans ce cas, il vaut mieux réfléchir à la structure souhaitée avant de lancer l’opération. Voulez-vous séparer uniquement la rue de la ville ? Extraire le code postal ? Ou répartir chaque mot dans sa propre colonne ? Excel exécutera exactement vos instructions, même si elles ne correspondent pas à votre intention initiale.
Fractionner selon une largeur fixe
L’assistant propose également l’option Largeur fixe. Elle est utile lorsque les données sont alignées selon une position précise plutôt que séparées par un caractère.
Par exemple, vous pouvez avoir une liste de références structurées ainsi :
- 2024FR00125
- 2024BE00418
- 2025CH00076
Les quatre premiers caractères représentent l’année, les deux suivants le pays et les cinq derniers le numéro de référence. Ici, aucun séparateur n’est présent. Vous pouvez donc choisir Largeur fixe, puis placer les lignes de séparation aux positions souhaitées dans l’aperçu.
Cette méthode est particulièrement pratique avec les fichiers texte provenant d’anciens logiciels ou de systèmes qui exportent des données dans un format positionnel.
Une précaution importante : ne pas écraser les données voisines
Lorsque vous fractionnez une cellule en plusieurs colonnes, Excel écrit les résultats à partir de la cellule de départ. Si la colonne suivante contient déjà des informations, elles peuvent être remplacées.
Avant de cliquer sur Terminer, vérifiez donc les colonnes situées à droite de votre sélection. Vous pouvez aussi choisir une autre destination dans l’assistant, par exemple une zone vide de la feuille.
Une bonne habitude consiste à travailler sur une copie de la colonne originale. Ainsi, si le résultat ne vous convient pas, vous conservez toujours les données de départ. C’est rarement spectaculaire, mais c’est le genre de précaution qui évite une longue séance de récupération de fichiers.
Utiliser le remplissage instantané
Excel propose une autre méthode très pratique : le remplissage instantané, ou Flash Fill. Cette fonctionnalité reconnaît un modèle à partir de votre premier exemple et le reproduit automatiquement.
Supposons que la cellule A2 contienne « Durand Nathan ». Dans B2, saisissez manuellement « Durand ». Dans C2, saisissez « Nathan ». Sélectionnez ensuite B3, puis utilisez le raccourci Ctrl + E. Excel détecte le modèle et extrait les noms des lignes suivantes.
Vous pouvez faire la même chose pour les prénoms, les codes, les adresses ou certaines transformations de texte.
Le remplissage instantané est très rapide, mais il faut vérifier le résultat. Il fonctionne en se basant sur les exemples fournis, et certaines données irrégulières peuvent le déstabiliser. Un double nom, un prénom composé ou une ligne vide peut entraîner une interprétation inattendue.
Cette méthode est donc idéale pour une opération ponctuelle. Pour un traitement récurrent ou automatisé, les formules ou Power Query seront souvent plus fiables.
Fractionner avec la fonction TEXTEPARTAGER
Si vous utilisez une version récente d’Excel, notamment Microsoft 365, la fonction TEXTEPARTAGER permet de fractionner un texte directement avec une formule.
Pour séparer le contenu de A2 lorsqu’il est délimité par un espace, utilisez :
=TEXTEPARTAGER(A2;" ")
La formule répartit automatiquement le contenu dans plusieurs colonnes. Pour une liste séparée par des points-virgules :
=TEXTEPARTAGER(A2;";")
Et pour répartir les éléments verticalement, utilisez le troisième argument :
=TEXTEPARTAGER(A2;;";")
Dans cette formule, le deuxième argument est laissé vide, tandis que le troisième indique le séparateur de lignes. Le résultat se déverse automatiquement dans les cellules voisines : c’est ce qu’Excel appelle une plage dynamique.
Cette solution est très intéressante lorsque les données changent régulièrement. Si le texte source est modifié, le résultat se met à jour sans devoir relancer l’assistant Convertir.
Selon la langue et la version d’Excel, le nom de la fonction peut être TEXTSPLIT au lieu de TEXTEPARTAGER. Si la formule renvoie une erreur, vérifiez le nom de la fonction disponible dans votre installation.
Extraire une partie du texte avec des formules classiques
Les versions plus anciennes d’Excel ne disposent pas toujours de la fonction TEXTEPARTAGER. Il reste possible d’utiliser des fonctions comme GAUCHE, DROITE, STXT, TROUVE et CHERCHE.
Pour récupérer le texte situé avant le premier espace dans A2 :
=GAUCHE(A2;TROUVE(" ";A2)-1)
Pour récupérer le texte situé après le premier espace :
=STXT(A2;TROUVE(" ";A2)+1;NBCAR(A2))
Ces formules sont efficaces lorsque la structure du texte est toujours identique. En revanche, elles deviennent plus complexes si certaines cellules contiennent plusieurs espaces, des éléments manquants ou des noms composés.
Pour un besoin simple et ponctuel, l’outil Convertir reste généralement plus confortable. Les formules prennent tout leur intérêt lorsque vous devez conserver une séparation dynamique ou intégrer le traitement dans un modèle Excel.
Cas pratique : séparer une adresse
Prenons une colonne contenant des valeurs comme :
- 12 rue des Lilas ; 75012 ; Paris
- 8 avenue Victor Hugo ; 69002 ; Lyon
- 25 boulevard du Port ; 33000 ; Bordeaux
Le point-virgule est ici un séparateur clair. Sélectionnez la colonne, ouvrez Données > Convertir, choisissez Délimité, puis cochez Point-virgule. Excel répartira les données en trois colonnes : adresse, code postal et ville.
Avant de valider, vérifiez le format du code postal. Excel peut parfois interpréter un code comme 01230 comme un nombre et supprimer le zéro initial. Dans l’étape finale de l’assistant, sélectionnez la colonne concernée et choisissez le format Texte. Le code postal sera ainsi conservé tel quel.
Cette précaution vaut également pour les références, numéros de téléphone et identifiants qui commencent par zéro.
Que faire si certaines cellules contiennent des séparateurs en trop ?
Les données importées sont rarement parfaites. Vous pouvez rencontrer des espaces multiples, des cellules vides ou des lignes qui ne suivent pas le même modèle.
Avant de fractionner, pensez à nettoyer les données. La fonction SUPPRESPACE permet de supprimer les espaces inutiles :
=SUPPRESPACE(A2)
La fonction SUBSTITUE peut remplacer un caractère par un autre. Par exemple, pour remplacer les virgules par des points-virgules :
=SUBSTITUE(A2;",";";")
Vous pouvez également utiliser NETTOYER pour supprimer certains caractères non imprimables provenant d’un copier-coller :
=NETTOYER(A2)
Une fois les données nettoyées, le fractionnement sera beaucoup plus prévisible. Comme souvent dans Excel, cinq minutes de préparation peuvent éviter vingt minutes de correction.
Quelle méthode choisir ?
- Convertir / Texte en colonnes : la meilleure option pour une séparation rapide et ponctuelle.
- Remplissage instantané : idéal lorsque vous pouvez montrer à Excel un exemple du résultat attendu.
- TEXTEPARTAGER : recommandé pour une séparation dynamique dans Microsoft 365.
- Formules classiques : utiles pour conserver une compatibilité avec les anciennes versions d’Excel.
- Power Query : à privilégier pour des importations répétées ou des fichiers volumineux.
Pour commencer, essayez la méthode Données > Convertir. Elle ne nécessite aucune formule et fonctionne dans la plupart des versions d’Excel. Si le traitement doit être répété chaque semaine, passez plutôt à une formule dynamique ou à Power Query afin d’éviter les manipulations manuelles.
Le réflexe à retenir
Lorsqu’un texte rassemble plusieurs informations dans une seule cellule, identifiez d’abord le séparateur ou la position qui distingue chaque élément. Ensuite, choisissez l’outil adapté : assistant Convertir pour aller vite, formule pour automatiser ou Power Query pour industrialiser le traitement.
Avec cette méthode, les colonnes mal organisées et les exports illisibles ne resteront pas longtemps un problème. Excel sait parfaitement découper vos données : il suffit de lui indiquer où commencer.
