🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction TEXTSPLIT dans Excel — Découper du texte en un tableau vivant qui se déverse

|

Fonction TEXTSPLIT dans Excel — Découper du texte en un tableau vivant qui se déverse

L'essentielTEXTSPLIT est 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_colonne et sép_ligne transforment 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/A sur les lignes inégales
  • Quand TEXTSPLIT retire votre pile GAUCHE/STXT/TROUVE et 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