Qu'est-ce que la fonction FRACTIONNER. TEXTE ?
FRACTIONNER.TEXTE (TEXTSPLIT en anglais) te sert quand un texte arrive collé dans une seule cellule, morceau après morceau, et que le retaper à la main dans plusieurs colonnes n'est pas envisageable sur des centaines de lignes. Elle prend le relais dès qu'un import CSV, un copier-coller ou une réponse d'API te livre tout en vrac.
Concrètement, c'est elle qui transforme une ligne CSV collée dans Excel en tableau structuré, qui sépare un nom complet en prénom et nom pour ton publipostage, ou qui décompose une adresse complète en rue, code postal et ville. Elle retourne un tableau dynamique : donne-lui une cellule de départ et elle occupe autant de colonnes (ou de lignes) que nécessaire.
Syntaxe
=FRACTIONNER.TEXTE(texte; col_délimiteur; [ligne_délimiteur]; [ignorer_vide]; [mode_correspondance]; [remplissage])Clique sur un argument pour aller à son explication.
TEXTSPLIT nécessite Excel 365 ou Excel 2021+. Dans les versions antérieures, la fonction n'est pas reconnue : utilise GAUCHE, DROITE et STXT combinés avec TROUVE pour un résultat similaire, mais moins automatisé.

Comprendre chaque paramètre de la fonction FRACTIONNER.TEXTE
Seuls les deux premiers comptent vraiment : le texte à découper, puis le délimiteur qui sépare les colonnes. Les quatre suivants sont facultatifs, mais comme ils se suivent dans un ordre fixe, pour atteindre le quatrième (ignorer_vide) tu dois sauter les places vides avec des points-virgules : =FRACTIONNER.TEXTE(A1;" ";;;VRAI).
Le troisième argument est la vraie originalité de la fonction : il découpe aussi en lignes, ce qui te laisse reconstruire un tableau à deux dimensions d'un seul coup.
texte
: le texte que tu veux diviserTu peux fournir une référence de cellule, une chaîne entre guillemets, ou le résultat d'une autre formule.
Exemples valides : A1, "Pomme,Banane,Orange", ou CONCAT(A1;" ";B1) si tu veux d'abord assembler avant de diviser.
col_délimiteur
: le ou les caractères qui séparent le texte en colonnesTu peux en spécifier plusieurs dans un tableau. Si tu passes une chaîne vide "", chaque caractère devient une colonne à part entière.
Exemples : "," divise par virgule, " " divise par espace, {" "; ","} divise par espace OU par virgule selon ce qui apparaît en premier.
ligne_délimiteur
: le ou les caractères qui séparent le texte en lignes(facultatif)Cet argument est ce qui rend TEXTSPLIT vraiment unique : il te permet de créer un tableau 2D à partir d'un texte structuré.
Si tu l'omets, tout reste sur une seule ligne. Exemple : FRACTIONNER.TEXTE(A1;",";"/") divise par virgule en colonnes et par slash en lignes.
ignorer_vide
: vRAI pour ignorer les délimiteurs consécutifs et éviter les cellules vides entre eux(facultatif)FAUX (valeur par défaut) conserve une cellule vide entre deux délimiteurs consécutifs.
Exemple : avec " " comme délimiteur et le texte "A B" (deux espaces), VRAI donne ["A", "B"] et FAUX donne ["A", "", "B"].
mode_correspondance
: 0 (valeur par défaut) = sensible à la casse(facultatif)1 = insensible à la casse. Ce paramètre détermine si le délimiteur doit correspondre exactement ou s'il peut ignorer les différences de majuscules/minuscules.
Exemple : avec le mode 1, le délimiteur "X" reconnaîtra aussi bien "x" que "X" dans le texte.
remplissage
: la valeur à utiliser pour remplir les cellules vides du tableau résultant(facultatif)Par défaut, Excel place #N/A dans les cases vides quand le tableau n'est pas parfaitement rectangulaire.
Utilise "" pour afficher des cellules visuellement vides, ou une valeur comme "N/A" pour indiquer clairement l'absence de données.

Exemples pratiques pas à pas
Comment découper un texte en colonnes avec la fonction FRACTIONNER.TEXTE
Un collègue te recopie en vitesse une ligne de son export dans un message, et tout arrive tassé dans une seule cellule : le prénom, la ville, le poste et le salaire, collés les uns aux autres avec des points-virgules. Tu as besoin de ces quatre champs dans quatre colonnes séparées pour les verser dans ton tableau de suivi, et redécouper ça à la main ligne après ligne n'est pas une option. La fonction FRACTIONNER.TEXTE coupe le texte à chaque point-virgule et pose chaque morceau dans sa propre colonne.
- 1Dans une cellule, écris
=FRACTIONNER.TEXTE(. - 2En 1er argument : écris le texte à découper entre guillemets,
"Marie;Lyon;Commerciale;4200". Les guillemets sont indispensables pour qu'Excel prenne cette suite de caractères comme un texte brut et ne cherche pas à la calculer. Tu pourrais tout aussi bien pointer une cellule qui contient déjà cette ligne, le découpage se ferait de la même manière. - 3En 2ᵉ argument : saisis le caractère qui sépare les champs,
";". C'est lui qui fixe l'endroit exact de chaque coupure, et la fonction ne conserve jamais le séparateur dans le résultat. Le texte compte trois points-virgules, tu obtiens donc quatre morceaux. - 4Ferme la parenthèse et appuie sur Entrée. Les quatre morceaux se déversent d'un seul geste dans les colonnes voisines, que tu n'as pas besoin de remplir toi-même.
=FRACTIONNER.TEXTE("Marie;Lyon;Commerciale;4200"; ";")Comment découper un texte sans créer de colonnes vides avec la fonction FRACTIONNER.TEXTE
L'outil qui sort ton relevé d'achats colle deux points-virgules entre chaque champ au lieu d'un seul, et tu n'as pas la main pour le corriger à la source. Découpé tel quel, le texte t'arrive troué de cellules vides qui décalent les colonnes et font échouer tout ce que tu branches derrière. La fonction FRACTIONNER.TEXTE sait traiter une rafale de séparateurs comme un seul, à condition de le lui demander explicitement.
- 1Dans une cellule, écris
=FRACTIONNER.TEXTE(. - 2En 1er argument : clique sur la cellule qui contient la ligne à découper,
A2. En pointant la cellule plutôt qu'un texte recopié en dur, tu gardes une formule réutilisable, et le jour où l'export change de contenu le découpage suit tout seul sans que tu retouches quoi que ce soit. - 3En 2ᵉ argument : saisis le point-virgule qui sépare les champs,
";". Tu ne lui en donnes qu'un seul, même si l'export en colle deux entre chaque valeur, car c'est un autre argument qui se chargera des doublons. - 4En 3ᵉ argument : écris un point-virgule de plus tout de suite,
;, sans rien mettre devant. Cet emplacement est celui du délimiteur de lignes, dont tu n'as pas besoin ici, mais les arguments se suivent dans un ordre fixe et ce point-virgule vide est le seul moyen d'atteindre le suivant. - 5En 4ᵉ argument : saisis la valeur qui demande d'ignorer les séparateurs en trop,
VRAI. Sans elle, la fonction insérerait une case vide pour chaque point-virgule en double, et c'est bien elle qui explique les trois colonnes obtenues au lieu de cinq. - 6Ferme la parenthèse et appuie sur Entrée. Les trois valeurs utiles se posent côte à côte, sans les deux cases vides que la rafale de points-virgules aurait créées.
=FRACTIONNER.TEXTE(A2; ";";; VRAI)VRAI en quatrième position, la fonction traite une rafale de points-virgules comme un séparateur unique : les deux cases vides que le découpage aurait créées disparaissent et il ne reste que les trois valeurs utiles. Le point-virgule en trop juste avant ne sert qu'à sauter la place du délimiteur de lignes, que tu ne renseignes pas ici.Comment reconstruire un tableau à deux dimensions avec la fonction FRACTIONNER.TEXTE
Le service technique te transmet la réponse brute d'un outil interne, et elle tient tout entière dans une cellule : trois articles à la suite, séparés par des slashs, avec leurs quantités et leurs montants séparés par des points-virgules. Tu dois en faire un vrai tableau avant de pouvoir trier ou additionner quoi que ce soit. La fonction FRACTIONNER.TEXTE sait couper sur deux axes en même temps, ce qui reconstruit le tableau complet en une seule formule.
- 1Dans une cellule, écris
=FRACTIONNER.TEXTE(. - 2En 1er argument : clique sur la cellule où la réponse brute est collée en entier,
A2. Toute la suite d'articles tient dans cette seule cellule, et c'est elle que la fonction va découper sur deux axes à la fois. - 3En 2ᵉ argument : saisis le point-virgule qui sépare les valeurs d'un même article,
";". À l'intérieur de chaque article, il isole le nom, la quantité et le montant, et c'est donc lui qui donne les trois colonnes. - 4En 3ᵉ argument : saisis le slash qui sépare les articles entre eux,
"/". C'est cet argument qui fait toute la différence avec un découpage ordinaire. Chaque article devient une ligne du tableau, au lieu de s'ajouter à la suite des précédents sur une seule et même ligne. - 5Ferme la parenthèse et appuie sur Entrée. Le tableau de trois lignes sur trois colonnes se déverse depuis cette seule cellule, sans que tu aies rien à recopier.
=FRACTIONNER.TEXTE(A2; ";"; "/")Comment éviter l'erreur #N/A au découpage avec la fonction FRACTIONNER.TEXTE
Les fiches clients te reviennent d'un formulaire où le téléphone reste facultatif, si bien qu'une fiche sur trois arrive avec un champ de moins que les autres. Découpées telles quelles, les fiches les plus courtes se retrouvent complétées par des erreurs #N/A, qui contaminent ensuite la moindre formule branchée dessus. La fonction FRACTIONNER.TEXTE te laisse décider toi-même de ce qu'elle inscrit dans les cases qu'elle ne peut pas remplir.
- 1Dans une cellule, écris
=FRACTIONNER.TEXTE(. - 2En 1er argument : clique sur la cellule qui contient les trois fiches à la suite,
A2. Chaque fiche y est séparée de la précédente, et l'une d'elles arrive avec un champ de moins que les autres. - 3En 2ᵉ argument : saisis le point-virgule qui sépare le prénom, la ville et le téléphone d'une même fiche,
";". C'est lui qui découpe chaque fiche en colonnes. - 4En 3ᵉ argument : saisis le slash qui sépare les fiches entre elles,
"/". Chaque fiche devient une ligne, et comme celle du milieu n'a que deux champs à donner alors que le tableau en attend trois, une case va rester à combler. - 5En 4ᵉ argument : écris directement un point-virgule,
;, pour passer l'emplacement suivant sans rien y mettre. Il correspond à l'option qui fusionne les séparateurs en double, inutile ici puisque chaque fiche est déjà séparée proprement. - 6En 5ᵉ argument : écris encore un point-virgule,
;, pour sauter aussi cet emplacement. Il correspond au réglage de la casse, qui ne joue aucun rôle quand le séparateur est un slash. - 7En 6ᵉ argument : saisis le texte à afficher dans les cases que la fonction ne peut pas remplir,
"Non renseigné". Sans lui, elle y écrirait une erreur#N/Aqui contaminerait la moindre formule branchée derrière. - 8Ferme la parenthèse et appuie sur Entrée. Le tableau reste rectangulaire et taillé sur la fiche la plus longue, la case manquante affichant
Non renseignéau lieu de#N/A.
=FRACTIONNER.TEXTE(A2; ";"; "/";;; "Non renseigné")#N/A, et avec lui, elle y écrit le texte que tu as choisi : le tableau reste exploitable tel quel.
Les erreurs fréquentes avec la fonction FRACTIONNER.TEXTE
Comme TEXTSPLIT déverse son résultat sur plusieurs cellules, ses soucis viennent presque tous de cet étalement : un #DEBORD! parce qu'une cellule voisine est déjà occupée, des cases vides ou des #N/A quand le découpage n'est pas régulier.
Le reste tient à la fonction elle-même : elle n'existe qu'à partir d'Excel 2021, et certains délimiteurs invisibles comme la tabulation ne s'écrivent pas entre guillemets, il faut passer par CAR(9).
Erreur #DEBORD! au lieu du tableau attendu
TEXTSPLIT retourne un tableau dynamique qui doit s'étendre librement. Si des cellules adjacentes (à droite ou en dessous) contiennent déjà des données, Excel ne peut pas placer le résultat et renvoie #DEBORD!.
Solution : Déplace ta formule vers une zone où les cellules à droite et en dessous sont vides. Pour vérifier l'espace requis à l'avance, compte le nombre de délimiteurs dans ton texte : 3 virgules = 4 colonnes nécessaires.
Cellules vides indésirables entre les valeurs
Si ton texte contient des délimiteurs consécutifs (deux espaces, deux virgules), TEXTSPLIT crée une cellule vide pour chaque délimiteur par défaut. Le texte "A B" (deux espaces) donne trois cellules : A, vide, B.
Solution : Utilise le quatrième argument avec VRAI : =FRACTIONNER.TEXTE(A1;" ";;;VRAI). Les délimiteurs consécutifs sont ignorés et aucune cellule vide ne s'intercale.
#N/A dans certaines cellules du tableau
Quand TEXTSPLIT crée un tableau rectangulaire à partir de lignes de longueurs différentes, il remplit les cases manquantes avec #N/A. C'est le comportement par défaut pour le sixième argument remplissage.
Solution : Passe une valeur de remplissage en sixième argument : =FRACTIONNER.TEXTE(A1;",";;;;"")pour des cellules visuellement vides, ou une valeur explicite comme =FRACTIONNER.TEXTE(A1;",";;;;"Non renseigné").
La fonction n'est pas reconnue par Excel
TEXTSPLIT n'existe que dans Excel 365 et Excel 2021+. Les versions 2019, 2016 et antérieures ne connaissent pas cette fonction.
Solution : Vérifie ta version dans Fichier > Compte > À propos d'Excel. Si tu es sur une version antérieure à 2021, utilise la combinaison GAUCHE, DROITE, STXT et TROUVE pour extraire chaque morceau manuellement.
Les caractères spéciaux ne sont pas reconnus comme délimiteurs
Certains caractères comme la tabulation ou le saut de ligne ne s'écrivent pas entre guillemets dans une formule. Les entrer directement entre guillemets ne fonctionne pas.
Solution : Utilise la fonction CAR pour ces caractères spéciaux : CAR(9) pour la tabulation et CAR(10) pour le saut de ligne. Exemple : =FRACTIONNER.TEXTE(A1;CAR(9)) pour diviser sur les tabulations.

TEXTSPLIT vs STXT vs GAUCHE / DROITE vs CHERCHE
TEXTSPLIT est la solution moderne pour tout découpage automatique. Pour les versions Excel antérieures à 2021, la combinaison STXT + CHERCHE reste la seule option native.
| Critère | TEXTSPLIT | STXT | GAUCHE / DROITE | CHERCHE |
|---|---|---|---|---|
| Disponibilité | Excel 365 / 2021+ | Toutes versions | Toutes versions | Toutes versions |
| Résultat | Tableau dynamique | Une valeur | Une valeur | Position (numéro) |
| Délimiteurs multiples | ✅ Oui (tableau) | ❌ Non | ❌ Non | ❌ Localise seulement |
| Complexité | ⭐ Facile | ⭐⭐⭐ Difficile | ⭐ Facile | ⭐⭐ Moyen |
| Cas d'usage typique | Diviser CSV, adresses, logs | Extraire N caractères à position fixe | Extraire début ou fin | Trouver position d'un caractère |

Astuces avancées avec FRACTIONNER.TEXTE
Combine avec FILTRE ou TRI pour des analyses en une formule
Une fois TEXTSPLIT appliqué, son résultat est un vrai tableau Excel : tu peux l'envelopper directement dans TRI pour trier les morceaux, ou dans FILTRE pour n'en garder que certains. =TRI(FRACTIONNER.TEXTE(A1;",")) divise et trie en une seule formule.
Pas besoin de colonne intermédiaire : tout reste dans une expression.
Utilise le troisième argument pour créer un tableau 2D
Si ton texte contient deux niveaux de structure (par exemple des lignes séparées par des slashes et des colonnes par des virgules), passe les deux délimiteurs : =FRACTIONNER.TEXTE(A1;",";"/") crée directement un tableau à plusieurs lignes et colonnes.
C'est particulièrement utile pour parser des données exportées depuis des APIs ou des bases de données.
Fige les résultats avec un collage spécial pour alléger ton fichier
TEXTSPLIT recalcule à chaque modification du fichier. Sur de grands volumes, ça ralentit Excel. Une fois les données découpées et vérifiées, sélectionne les cellules de résultat, copie (Ctrl+C) et colle uniquement les valeurs (Ctrl+Maj+V).
Ton tableau reste intact, sans formule active.
Questions fréquentes
Utilise le deuxième argument pour les délimiteurs de colonnes et le troisième pour les lignes : =FRACTIONNER.TEXTE(texte;",";"/") divise par virgule en colonnes et par slash en lignes. Tu peux aussi passer un tableau de délimiteurs : =FRACTIONNER.TEXTE(texte;{" ";","}) divise sur l'espace ou la virgule.
Les deux fonctions sont similaires dans leur principe, mais TEXTSPLIT d'Excel offre plus d'options : délimiteurs de lignes pour créer des tableaux 2D, paramètre d'ignorance des vides, mode insensible à la casse, et valeur de remplissage personnalisée. La syntaxe diffère légèrement.
L'erreur #DEBORD! survient quand le tableau dynamique résultant chevauche des cellules non vides. Assure-toi que les cellules à droite et en dessous de ta formule sont vides, ou déplace ta formule vers une zone libre.
Passe un tableau de délimiteurs comme deuxième argument : =FRACTIONNER.TEXTE(A1;{" ";",";";"})divise sur l'espace, la virgule et le point-virgule. Excel coupe à chaque occurrence de n'importe lequel de ces caractères.
Pour aller plus loin
Continue sur ta lancée après la fonction FRACTIONNER.TEXTE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




