Aller au contenu principal

Qu'est-ce que la fonction TABLEAU.EN.TEXTE ?

Définition
La fonction TABLEAU.EN.TEXTE convertit un tableau ou une plage de cellules en une chaîne de texte unique, en séparant les colonnes et les lignes par des délimiteurs personnalisables. C'est l'inverse de TEXTE.FRACTIONNER, disponible uniquement dans Excel 365.

Tu sors TABLEAU.EN.TEXTE (ARRAYTOTEXT en anglais) quand une plage entière doit sortir d'Excel sous forme de texte brut, pour un email, un message ou un champ qui n'accepte pas plusieurs cellules, sans reconstruire la chaîne à la main à chaque mise à jour des données.

Concrètement, c'est elle qui génère en une formule une liste d'emails séparés par des virgules depuis une plage de contacts, formate les lignes d'un inventaire en texte narratif pour un email, prépare des données tabulaires pour un import dans un outil externe, ou crée un export CSV dynamique qui se met à jour quand tes données changent.

Syntaxe

Clique sur un argument pour aller à son explication.

Si tu omets tous les paramètres optionnels, TABLEAU.EN.TEXTE utilise la virgule pour séparer les colonnes et le point-virgule pour séparer les lignes, en format concis (mode 0). Pour créer de vrais sauts de ligne dans le résultat, utilise CAR(10) comme délimiteur de lignes et active « Renvoyer à la ligne automatiquement » dans le format de cellule.

Le savais-tu ?
TABLEAU.EN.TEXTE fait exactement l'inverse de TEXTE.FRACTIONNER : l'une aplatit un tableau en une seule chaîne, l'autre redécoupe une chaîne en tableau. Les deux sont réservées à Excel 365.
Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction TABLEAU.EN.TEXTE

Seul le premier argument, le tableau à convertir, est obligatoire ; les quatre suivants viennent dans un ordre fixe et tu peux les laisser tomber. Mais attention : si tu veux choisir le délimiteur de lignes, tu dois aussi écrire celui des colonnes avant lui, même pour reprendre la virgule par défaut. Les deux derniers, vide et mode_format, sont ceux qui décident si tes cellules vides disparaissent et si le texte sort avec ou sans accolades.

1

tableau

: le tableau ou la plage de cellules à convertir en texte

Il peut s'agir d'une seule colonne, d'une seule ligne, ou d'un tableau complet avec plusieurs lignes et colonnes. Tu peux référencer une plage (A1:C10) ou un tableau structuré (TableauProduits[Prix]).

Tu peux aussi passer le résultat d'une fonction de tableau dynamique : FILTRE(A:C; B:B>1000) te donne uniquement les lignes qui correspondent à ton critère avant la conversion en texte.

2

[col_délimiteur]

: le caractère ou la chaîne qui séparera les valeurs de différentes colonnes(facultatif)

Par défaut, Excel utilise la virgule. Tu peux utiliser ", " (virgule + espace) pour plus de lisibilité, "|" pour un format tabulaire, " - " pour un format narratif, ou CAR(9) pour une tabulation.

Pour un export CSV standard compatible avec la plupart des outils, utilise "," comme délimiteur de colonnes.

3

[ligne_délimiteur]

: le caractère ou la chaîne qui séparera les différentes lignes du tableau(facultatif)

Par défaut, Excel utilise le point-virgule. Pour créer un vrai saut de ligne visible dans la cellule, utilise CAR(10) (retour à la ligne Unix) ou CAR(13)&CAR(10) (retour chariot Windows).

Pour du HTML, tu peux utiliser "<br>". Pour un format SQL, utilise "), (" pour séparer les tuples.

4

[vide]

(facultatif)

Contrôle le traitement des cellules vides.

- 0 (par défaut) : les cellules vides sont ignorées, ce qui peut raccourcir le résultat et décaler les positions. - 1 : les cellules vides sont conservées comme positions vides dans le texte, ce qui maintient l'alignement et la structure du tableau original.

Attention : Avec vide = 1, les cellules vides génèrent des délimiteurs successifs (comme ,, dans un CSV), ce qui peut provoquer des erreurs d'import. Préfère vide = 0 ou remplis les cellules vides avec SIERREUR avant d'appliquer TABLEAU.EN.TEXTE.

5

[mode_format]

(facultatif)

Détermine le style de sortie.

- 0 (par défaut, mode concis) : produit un résultat simple et lisible, parfait pour l'affichage, les emails et les exports standards. - 1 (mode strict) : génère une syntaxe Excel valide avec accolades et guillemets autour des textes, idéal pour copier-coller le résultat directement dans une autre formule comme argument de tableau constant.

Le combo gagnant
Enchaîne TABLEAU.EN.TEXTE avec FILTRE, TRIER ou UNIQUE et tu obtiens un export qui se met à jour tout seul : tu filtres ou tries la plage, et sa version texte suit dès que tes données changent.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment réunir une colonne d'emails en une seule cellule avec la fonction TABLEAU.EN.TEXTE

Tu dois envoyer une invitation aux dix-huit contacts de ta base, et ton outil d'emailing attend une liste collée d'un bloc dans un seul champ, pas dix-huit cellules. Recopier les adresses une par une est long, et un oubli se voit tout de suite. La fonction TABLEAU.EN.TEXTE ramène toute la colonne à une chaîne unique, prête à copier.

Les étapes
  1. 1
    Dans une cellule, écris =TABLEAU.EN.TEXTE(.
  2. 2
    En 1er argument : sélectionne les dix-huit adresses à mettre bout à bout, B2:B19. La plage démarre en ligne 2 pour laisser de côté l'en-tête Email, et la fonction lit la colonne de haut en bas dans cet ordre.
  3. 3
    Ferme la parenthèse et appuie sur Entrée. Comme tu n'ajoutes rien après la plage, la fonction applique son format concis et sépare les valeurs par un point-virgule suivi d'une espace.
Au final, ta formule devrait ressembler à ça :=TABLEAU.EN.TEXTE(B2:B19)
Explication
Les dix-huit adresses sont concaténées dans l'ordre de la colonne, séparées par un point-virgule et une espace, et le tout tient dans la seule cellule où tu as saisi la formule : rien ne se déverse à côté. La chaîne dépasse largement la largeur de la colonne et déborde donc à l'écran, mais c'est bien une valeur unique de 199 caractères.
Exemple 2

Comment convertir une plage en tableau littéral avec la fonction TABLEAU.EN.TEXTE

Tu mets au point une formule et tu voudrais y figer ces trois lignes en dur, sous forme de tableau littéral, pour la tester sans dépendre de la feuille. Retaper les accolades, les guillemets et les bons séparateurs à la main est le meilleur moyen de se tromper. Le second argument de la fonction TABLEAU.EN.TEXTE produit cette écriture directement.

Les étapes
  1. 1
    Dans une cellule, écris =TABLEAU.EN.TEXTE(.
  2. 2
    En 1er argument : sélectionne les trois produits avec leur quantité, A2:B4. Contrairement à l'exemple précédent, la plage fait deux colonnes de large, et la fonction accepte sans broncher ces tableaux à deux dimensions.
  3. 3
    En 2ᵉ argument : saisis la valeur qui réclame le format strict, 1. La fonction encadre alors le résultat d'accolades, met les textes entre guillemets et laisse les nombres nus. Seules les valeurs 0 et 1 sont acceptées, car ce n'est pas un séparateur mais un choix de format.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=TABLEAU.EN.TEXTE(A2:B4; 1)
Explication
Le format strict rend la chaîne telle qu'Excel l'attend à l'intérieur d'une formule : Clavier passe entre guillemets parce que c'est du texte, 12 reste nu parce que c'est un nombre, le point sépare les deux colonnes et le point-virgule sépare les lignes. Sans ce second argument, la fonction aurait tout aplati en Clavier; 12; Souris; 30; Écran; 7, sans distinguer les lignes des colonnes.
Exemple 3

Comment lister les villes distinctes en une cellule avec les fonctions TABLEAU.EN.TEXTE et UNIQUE

En haut de ton rapport, tu veux une ligne qui annonce les villes couvertes, sans les répéter autant de fois qu'il y a de contacts. La colonne Ville ne contient que des doublons, et la phrase doit tenir dans une seule cellule. Les deux fonctions s'enchaînent : l'une élimine les répétitions, l'autre met le résultat à plat.

Les étapes
  1. 1
    Dans une cellule, écris =TABLEAU.EN.TEXTE(.
  2. 2
    En 1er argument : écris la liste débarrassée de ses doublons et referme-la, UNIQUE(A2:A7). La fonction UNIQUE ramène d'abord les six lignes de la colonne à ses deux valeurs distinctes, Paris et Lyon, que la fonction TABLEAU.EN.TEXTE reçoit ensuite comme n'importe quelle plage.
  3. 3
    Ferme la parenthèse de la fonction TABLEAU.EN.TEXTE et appuie sur Entrée. Celle de la fonction UNIQUE a déjà été refermée dans le premier argument.
Une fois les morceaux assemblés, ta formule donne ça :=TABLEAU.EN.TEXTE(UNIQUE(A2:A7))
Explication
La fonction UNIQUE passe en premier et ramène les six lignes à deux valeurs distinctes, que la fonction TABLEAU.EN.TEXTE colle ensuite en une chaîne unique. L'ordre d'apparition est conservé : Paris sort avant Lyon parce qu'il apparaît en premier dans la colonne.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction TABLEAU.EN.TEXTE

Le souci qui revient le plus souvent n'est même pas une vraie erreur : tu mets CAR(10) comme séparateur de lignes et le résultat reste écrasé sur une seule ligne, parce que la cellule n'affiche pas les sauts de ligne tant que tu n'as pas coché « Renvoyer à la ligne automatiquement ». Les autres pièges touchent surtout tes exports CSV : un mode 1 qui colle des accolades partout, des cellules vides qui doublent les virgules, ou une virgule déjà présente dans tes données qui casse le parsage.

Délimiteurs CAR(10) non visibles : le résultat s'affiche sur une seule ligne

Quand tu utilises CAR(10) comme délimiteur de lignes, Excel insère bien des sauts de ligne dans le texte, mais la cellule n'est pas configurée pour les afficher. Elle compresse tout sur une seule ligne.

Solution : Active « Renvoyer à la ligne automatiquement » pour la cellule résultat (Ctrl+1, onglet Alignement). Tu peux aussi copier le résultat dans un éditeur de texte (Notepad, Word) pour voir les vrais sauts de ligne.

Confusion entre mode 0 et mode 1 : guillemets et accolades non désirés

Le mode 1 (strict) ajoute des accolades {} autour du résultat et des guillemets "" autour de chaque valeur texte. Si tu veux un export propre sans ces caractères, ce mode n'est pas adapté.

Solution : Utilise le mode 0 (ou omets ce paramètre) pour les exports standards vers des emails, des fichiers texte ou des outils externes. Réserve le mode 1 uniquement quand tu veux copier le résultat comme argument de tableau constant dans une autre formule Excel.

Délimiteurs doublés avec des cellules vides : format CSV cassé

Avec vide = 1, les cellules vides conservent leur position et génèrent des délimiteurs successifs (comme ,, dans un CSV). Certains outils d'import interprètent alors ,, comme deux champs vides, ce qui décale toutes les colonnes suivantes.

Solution : Utilise vide = 0 (par défaut) pour ignorer les cellules vides, ou remplis-les d'abord avec SI.VIDE(cellule; "") ou SIERREUR(valeur; "") avant d'appliquer TABLEAU.EN.TEXTE.

Résultat tronqué sur les très grands tableaux

Les cellules Excel ont une limite de 32 767 caractères. Si ton tableau est très grand, le résultat de TABLEAU.EN.TEXTE peut dépasser cette limite et être tronqué silencieusement.

Solution : Divise ton tableau en plusieurs parties avec FILTRE ou DECALER et applique TABLEAU.EN.TEXTE sur chaque partie. Pour les exports vraiment volumineux, utilise plutôt « Enregistrer sous » vers le format CSV directement depuis Excel.

Caractères spéciaux qui cassent le format CSV lors de l'import

Si tes données contiennent déjà la virgule utilisée comme délimiteur (par exemple des adresses comme « 3, rue de la Paix »), le fichier CSV résultant sera mal parsé : le texte après la virgule sera interprété comme une nouvelle colonne.

Solution : Utilise le mode 1 qui entoure automatiquement les textes de guillemets, ou choisis un délimiteur rare comme "|" ou CAR(9) (tabulation) que tes données ne contiennent pas.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

TABLEAU.EN.TEXTE vs JOINDRE.TEXTE vs CONCATENER vs TEXTE.FRACTIONNER

Sors TABLEAU.EN.TEXTE dès que ton tableau a plusieurs colonnes ET plusieurs lignes : c'est la seule des quatre qui gère deux délimiteurs à la fois et un vrai tableau 2D. Pour une liste à une seule dimension, JOINDRE.TEXTE suffit et tourne dès Excel 2019, alors que TABLEAU.EN.TEXTE réclame Excel 365. Garde CONCATENER pour assembler deux ou trois cellules à la main, et TEXTE.FRACTIONNER quand tu fais l'opération inverse, transformer du texte en tableau.

CritèreTABLEAU.EN.TEXTEJOINDRE.TEXTECONCATENERTEXTE.FRACTIONNER
DélimiteursColonnes ET lignes (deux délimiteurs)Un seul délimiteurAucun (manuel entre chaque valeur)Colonnes ET lignes (inverse)
Tableaux 2DOui, natifNon (1D seulement)NonOui, en sens inverse
Gestion des cellules videsParamètre dédié (0 ou 1)Paramètre dédiéNon (inclut toujours)Paramètre dédié
DisponibilitéExcel 365 uniquementExcel 2019+Toutes versionsExcel 365 uniquement
Cas d'usage typiqueExport CSV, SQL, format narratifListe simple à une dimensionAssemblage de quelques cellulesImporter du texte en tableau
FAQ

Questions fréquentes

TABLEAU.EN.TEXTE convertit un tableau complet en texte avec deux délimiteurs distincts (un pour les colonnes, un pour les lignes), ce qui te donne un contrôle total sur la structure du résultat pour des tableaux 2D. JOINDRE.TEXTE n'utilise qu'un seul délimiteur et est mieux adapté aux listes simples sur une dimension. Dès que tu as plusieurs colonnes à inclure, TABLEAU.EN.TEXTE est plus adapté.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction TABLEAU.EN.TEXTE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir