L'essentiel —
TEXTSPLITest la version formule de Convertir en colonnes, avec une énorme différence : le résultat est un tableau vivant qui se redécoupe dès que la source change. Syntaxe :=TEXTSPLIT(texte ; sép_colonne ; [sép_ligne] ; [ignore_vide] ; [mode] ; [remplir_avec]). Le deuxième argument découpe en largeur, vers les colonnes ; le troisième découpe vers le bas, en lignes — les deux ensemble transforment une chaîne en grille. Deux pièges : le résultat se déverse, donc une plage bloquée donne#SPILL!; et pour découper sur plusieurs séparateurs il faut un tableau de constantes{"," ; ";"}, pas la chaîne",;". Excel 365 et 2021+.
=TEXTSPLIT(A2, ",")
=TEXTSPLIT(A2, ",", ";") ' colonnes par virgule, lignes par point-virgule
Pendant vingt ans, découper "Jones, Sarah, Finance" en cellules séparées passait
par l'assistant Convertir en colonnes — un collage unique et destructeur, à
relancer à la main à chaque changement — ou par un nid de GAUCHE, STXT,
TROUVE que personne ne relisait un mois plus tard. TEXTSPLIT le fait en une
formule, et comme c'est une formule, le découpage reste vivant.
Remarque : dans une interface Excel en français, la fonction s'appelle FRACTIONNER.TEXTE. Apparentées : TEXTJOIN = JOINDRE.TEXTE, CONCAT = CONCAT. Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.
Ce que vous allez apprendre
- Comment
sép_colonneetsép_lignetransforment une chaîne en grille 2D - Pourquoi plusieurs séparateurs exigent un tableau de constantes
{"," ; ";"}, pas",;" - Ce qui provoque
#SPILL!et comment le corriger remplir_avec— l'argument qui évite le#N/Asur les lignes inégales- Quand
TEXTSPLITretire votre pileGAUCHE/STXT/TROUVEet Convertir en colonnes
Le modèle mental : Convertir en colonnes, mais vivant
Convertir en colonnes est une action — vous la lancez, elle écrit des valeurs une
fois, c'est fini ; la source change et la sortie est périmée. TEXTSPLIT est une
formule — elle décrit le découpage et le recalcule pour toujours. Au lieu de
« sélectionner la plage, ouvrir l'assistant, choisir le séparateur, cliquer
Terminer, recommencer la semaine prochaine », vous tapez une expression et les
cellules à droite (et en dessous) se remplissent seules et restent justes :
' "Jones,Sarah,Finance" en A2 se déverse sur trois cellules :
=TEXTSPLIT(A2, ",") ' -> Jones | Sarah | Finance
La sortie n'est pas tapée dans ces cellules — elle s'y déverse depuis la cellule
de formule, exactement comme FILTER et les autres
fonctions matricielles dynamiques.
La règle qui débloque tout : colonne vs ligne, et le tableau de séparateurs
TEXTSPLIT a deux emplacements de séparateur, et celui que vous utilisez décide de
la forme de la sortie. sép_colonne (2ᵉ arg) découpe le texte latéralement en
colonnes ; sép_ligne (3ᵉ arg) le découpe vers le bas en lignes. Les deux
ensemble transforment une chaîne compacte en grille rectangulaire :
' "a,b;c,d" -> une grille 2x2 : les virgules font les colonnes, les points-virgules les lignes
=TEXTSPLIT(A2, ",", ";")
Et le piège qui coûte le plus de temps : pour découper sur plus d'un séparateur,
vous passez un tableau de constantes, pas une chaîne plus longue. ",;" est lu
comme l'unique séparateur de deux caractères « virgule-puis-point-virgule » — qui ne
correspond jamais — donc toute la chaîne atterrit dans une cellule. La bonne façon :
=TEXTSPLIT(A2, {",", ";", " "}) ' découper sur virgule OU point-virgule OU espace
=TEXTSPLIT(A2, ",;") ' FAUX : cherche le texte littéral ",;"
#SPILL! concerne les voisins, pas la formule
Comme le résultat s'étend à autant de morceaux que le texte en contient,
TEXTSPLIT a besoin de cellules vides pour se déverser. Si une valeur, un libellé
ou une cellule fusionnée occupe la plage visée, Excel ne peut pas le poser et
renvoie #SPILL!. La formule est correcte ; c'est la destination qui est
bloquée. Cliquez la cellule pour voir la plage de déversement surlignée, videz-la,
et le découpage apparaît. Habitude pratique : placez un TEXTSPLIT là où il peut
grandir vers la droite et vers le bas — pas à côté d'une colonne de données
existantes.
remplir_avec : la solution pour les lignes inégales
Quand vous découpez beaucoup de lignes qui n'ont pas toutes le même nombre de
morceaux — une adresse a une ligne de complément, une autre non — les lignes courtes
reviennent comblées de #N/A. Le dernier argument, remplir_avec, les remplace par
la valeur de votre choix :
=TEXTSPLIT(A2, ",", ";", , , "") ' combler les cellules manquantes par "" au lieu de #N/A
Les deux arguments sautés sont ignore_vide (fusionner les séparateurs
consécutifs) et mode (mettre 1 pour ignorer la casse). Vous y touchez rarement,
mais connaître l'ordre des emplacements garde les points-virgules en place.
Le jugement : quand TEXTSPLIT remplace les vieux outils
Si vous imbriquez GAUCHE/STXT/DROITE avec TROUVE juste pour couper une
chaîne à ses séparateurs, arrêtez — ce motif est fragile, et TEXTSPLIT le fait
d'un coup et reste vivant. Si vous tendez vers Données ▸ Convertir en colonnes
sur des données qui changent, vous vous engagez à le relancer indéfiniment ; une
formule TEXTSPLIT se met à jour seule. L'exception honnête est la même que pour
toute fonction matricielle dynamique : pour un import unique de centaines de milliers
de lignes, Power Query est plus léger. Pour tout ce qui doit rester à jour,
TEXTSPLIT gagne. (Découper est l'inverse de joindre — voir
TEXTJOIN.)
Comment ExcelMaster aide
Les vrais découpages sont rarement propres : sépare le nom complet en prénom et
nom, mais seulement au premier espace ; garde le reste de l'adresse ensemble.
ExcelMaster écrit le TEXTSPLIT — avec le bon tableau de séparateurs,
remplir_avec et un emplacement de déversement clair — à partir d'une description
en langage naturel, et vous dit si la plage de destination entre en collision. Vous
décrivez la forme voulue ; il gère la mécanique des séparateurs.
Questions fréquentes
Comment découper du texte en colonnes avec une formule ?
Utilisez =TEXTSPLIT(A2 ; ",") pour découper en largeur vers les colonnes par
virgule. Le résultat se déverse dans les cellules à droite de la formule et se met à
jour dès que A2 change — sans assistant, sans relance.
Comment utiliser plusieurs séparateurs dans TEXTSPLIT ?
Passez-les en tableau de constantes entre accolades :
=TEXTSPLIT(A2 ; {"," ; ";" ; " "}). Écrire ",; " en chaîne échoue, car Excel le
traite comme un seul séparateur de plusieurs caractères au lieu de trois distincts.
Pourquoi TEXTSPLIT affiche-t-il #SPILL! ?
Quelque chose bloque les cellules dans lesquelles le résultat doit s'étendre — une valeur, un libellé ou une cellule fusionnée. Cliquez la cellule de formule pour voir la plage de déversement, videz-la, et le résultat apparaît.
TEXTSPLIT ou Convertir en colonnes — laquelle choisir ?
TEXTSPLIT est une formule vivante qui se redécoupe quand la source change ;
Convertir en colonnes est une action unique qui écrit des valeurs figées à relancer
à la main. Pour des données qui changent, prenez TEXTSPLIT. Pour un seul import en
masse, Convertir en colonnes ou Power Query convient.
TEXTSPLIT fonctionne-t-il dans Excel 2016 ou 2019 ?
Non. TEXTSPLIT exige Excel 365 ou Excel 2021+. Sur les versions plus anciennes,
utilisez Convertir en colonnes ou une formule GAUCHE/STXT/TROUVE.
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 17/06/2026.
Guides connexes : Excel TEXTJOIN · Excel CONCAT · Excel FILTER · VBA Split
