Aller au contenu principal

Qu'est-ce que la fonction FRACTIONNER.TEXTE ?

Définition
La fonction TEXTSPLIT divise un texte en tableau dynamique selon un ou plusieurs délimiteurs de colonnes et/ou de lignes. Disponible uniquement dans Excel 365 et Excel 2021+.

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

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é.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

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.

1

texte

: le texte que tu veux diviser

Tu 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.

2

col_délimiteur

: le ou les caractères qui séparent le texte en colonnes

Tu 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.

3

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.

4

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"].

5

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.

6

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.

Le savais-tu ?
Certains délimiteurs ne s'écrivent pas entre guillemets : la tabulation et le saut de ligne. Passe alors par la fonction CAR, avec CAR(9) pour une tabulation et CAR(10) pour un saut de ligne, et FRACTIONNER.TEXTE les reconnaît comme n'importe quel séparateur.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =FRACTIONNER.TEXTE(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    Ferme 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.
Au final, ta formule devrait ressembler à ça :=FRACTIONNER.TEXTE("Marie;Lyon;Commerciale;4200"; ";")
Explication
La fonction parcourt le texte de gauche à droite, coupe à chaque point-virgule et ne conserve jamais le séparateur lui-même. Les quatre morceaux se déversent d'un seul geste depuis la cellule où tu tapes la formule et occupent quatre colonnes à partir d'elle (tu ne saisis rien dans les trois voisines, la formule les remplit toute seule).
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =FRACTIONNER.TEXTE(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    En 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.
  6. 6
    Ferme 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.
Voici la formule que tu obtiens à la fin :=FRACTIONNER.TEXTE(A2; ";";; VRAI)
Explication
Avec 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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =FRACTIONNER.TEXTE(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=FRACTIONNER.TEXTE(A2; ";"; "/")
Explication
Les deux délimiteurs travaillent sur des axes différents : la fonction coupe d'abord sur les slashs pour savoir combien de lignes elle doit créer, puis sur les points-virgules à l'intérieur de chacune pour en tirer les colonnes. Le tableau de trois lignes sur trois colonnes se déverse depuis la seule cellule où tu as tapé la formule, sans que tu aies rien à recopier.
Exemple 4

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.

Les étapes
  1. 1
    Dans une cellule, écris =FRACTIONNER.TEXTE(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    En 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.
  5. 5
    En 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.
  6. 6
    En 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.
  7. 7
    En 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/A qui contaminerait la moindre formule branchée derrière.
  8. 8
    Ferme 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.
En mettant tout bout à bout, tu écris :=FRACTIONNER.TEXTE(A2; ";"; "/";;; "Non renseigné")
Explication
Le tableau rendu est forcément rectangulaire, donc la fonction le taille sur la fiche la plus longue (trois champs) et doit bien poser quelque chose dans la case que la fiche de Paul ne remplit pas. Sans le sixième argument, elle y écrit une erreur #N/A, et avec lui, elle y écrit le texte que tu as choisi : le tableau reste exploitable tel quel.
Le conseil du pro
Pour traiter toute une colonne d'un coup, écris la formule sur la première ligne puis tire-la vers le bas : chaque ligne est découpée indépendamment dans son propre tableau.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreTEXTSPLITSTXTGAUCHE / DROITECHERCHE
DisponibilitéExcel 365 / 2021+Toutes versionsToutes versionsToutes versions
RésultatTableau dynamiqueUne valeurUne valeurPosition (numéro)
Délimiteurs multiples✅ Oui (tableau)❌ Non❌ Non❌ Localise seulement
Complexité⭐ Facile⭐⭐⭐ Difficile⭐ Facile⭐⭐ Moyen
Cas d'usage typiqueDiviser CSV, adresses, logsExtraire N caractères à position fixeExtraire début ou finTrouver position d'un caractère
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec FRACTIONNER.TEXTE

1Astuce

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.

2Astuce

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.

3Astuce

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.

FAQ

Questions fréquentes

Non, TEXTSPLIT nécessite Excel 365 ou Excel 2021+. Pour les versions antérieures, utilise GAUCHE, DROITE et STXT combinés avec TROUVE pour obtenir un résultat similaire, bien que moins automatisé.

Ressources

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