Accéder au contenu principal

Excel TEXTJOIN() : Combiner du texte dans Excel

Combinez les valeurs des cellules en douceur avec TEXTJOIN(). Gérez les délimiteurs, sautez les blancs et simplifiez l'assemblage de vos données dans Excel.
Actualisé 18 juin 2025  · 6 min de lecture

La création de texte bien formaté à partir de données Excel est un besoin courant, mais l'enchaînement de valeurs peut être source de désordre. La fonction TEXTJOIN() d'Excel offre une solution simple, vous permettant de rassembler des plages de texte à l'aide d'un délimiteur et même d'ignorer les cellules vides. 

Dans cet article, je vais vous présenter les principes de base de TEXTJOIN(), voir comment il se compare à des fonctions similaires telles que CONCAT() et CONCATENATE(), et vous présenter des scénarios pratiques dans lesquels il se distingue. Au fur et à mesure, je plaiderai pour TEXTJOIN() parce que je pense que c'est aujourd'hui le meilleur outil pour combiner des textes, et je pense qu'à la fin de l'article, vous en serez également convaincus.

Comment fonctionne la fonction Excel TEXTJOIN()

Commençons par expliquer clairement ce que fait TEXTJOIN() et pourquoi sa syntaxe est beaucoup plus souple que celle qui l'a précédé.

À la base, TEXTJOIN() vous permet de réunir des valeurs textuelles provenant de plusieurs cellules, en insérant un délimiteur (comme une virgule, un espace ou un point-virgule) entre elles. Contrairement aux approches plus anciennes, il peut traiter une gamme complète à la fois, et vous pouvez décider d'ignorer les blancs.

Voici la syntaxe :

=TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)
  • delimiter: Le(s) caractère(s) que vous souhaitez voir figurer entre chaque élément de texte (souvent une virgule, un espace, etc.)

  • ignore_empty: VRAI pour ignorer les cellules vides, FAUX pour les inclure

  • text1, [text2], …: Les cellules, les plages ou les valeurs que vous souhaitez combiner

Par exemple, supposons que vous ayez des valeurs dans A1, A2 et A3. Vous voulez les joindre, en les séparant par des virgules, tout en sautant les blancs :

=TEXTJOIN(",", TRUE, A1:C1)

Excel TEXTJOIN en sautant les blancs

Si A2 est vide, vous n'obtiendrez que les valeurs de A1 et A3, séparées par une virgule.

Pourquoi cela est-il important ? D'autres fonctions (je pense à CONCATENATE()) vous obligent à énumérer chaque cellule séparément et ne sautent pas les blancs. TEXTJOIN() est plus court à taper et beaucoup plus facile à gérer.

TEXTJOIN() vs. CONCATENATE() vs. CONCAT()

Maintenant que nous avons abordé les bases de TEXTJOIN(), il est intéressant de voir comment il se compare directement aux anciennes fonctions de texte d'Excel. Si vous avez utilisé CONCATENATE() ou CONCAT(), vous vous demandez peut-être pourquoi vous changeriez.

  • TEXTJOIN(): Vous permet de spécifier un délimiteur et de sauter facilement les blancs. Accepte les gammes.

  • CONCAT(): Joint des plages ou des cellules de texte individuelles, mais vous ne pouvez pas spécifier de délimiteur. Il ne saute pas les blancs.

  • CONCATENATE(): L'option la plus ancienne. Vous oblige à spécifier chaque cellule une par une. Pas de champ délimiteur, pas de prise en charge des plages.

À titre d'exemple, joignons les valeurs de B1, B2 et B3 en les séparant par un point-virgule. Voici comment se présentent les différentes fonctions :

=TEXTJOIN(";", TRUE, A1:C1)

Excel TEXTJOIN avec un point-virgule

=CONCAT(B1:D1)

Excel TEXTJOIN vs CONCAT

=CONCATENATE(B1, C1, D1)

Excel TEXTJOIN vs CONCATENATE

Notez que TEXTJOIN() est le seul à vous permettre de choisir un délimiteur sans complications supplémentaires. Avec CONCAT() ou CONCATENATE(), si vous voulez des délimiteurs, vous devez les ajouter manuellement :

=B1 & ";" & C1 & ";" & D1

ajouter manuellement des délimiteurs

De plus, et c'est peut-être tout aussi important, selon la structure de vos données, si une cellule est vide, TEXTJOIN() peut l'ignorer pour vous. CONCATENATE() et CONCAT() incluront le vide.

Gestion des délimiteurs et des cellules vides

Permettez-moi d'en dire un peu plus sur ces deux problèmes courants : l'ajout de délimiteurs cohérents et l'ignorance des cellules vides.

Délimiteurs personnalisés

Il est probable que vous souhaitiez utiliser des délimiteurs différents selon les cas. Vous pouvez utiliser des virgules, des tuyaux, des nouvelles lignes ou même d'autres types de caractères comme séparateurs.

Pour joindre une barre verticale, utilisez ceci :

=TEXTJOIN("|", TRUE, D1:G1)

Excel TEXTJOIN avec une barre verticale

Vous pouvez également faire des choses plus spécialisées. Ici, j'utilise un espace-dash-space comme séparateur :

=TEXTJOIN(" - ", TRUE, D1:G1)

Excel TEXTJOIN avec traits d'union

Vous pouvez même utiliser CHAR(10) pour un saut de ligne, bien que vous deviez activer l'option Envelopper le texte dans le formatage de la cellule pour en voir l'effet.

Sauter des cases

L'une des choses les plus frustrantes dans l'assemblage de données est la gestion des blancs. TEXTJOIN() vous permet de contrôler la situation. Fixez l'argument ignore_empty à TRUE, et les blancs sont entièrement supprimés.

=TEXTJOIN(", ", TRUE, E1:G1)

Excel TEXTJOIN sautant des blancs

Résultat : "Rouge, bleu". La cellule vide (F2) est ignorée, de sorte que vous n'obtenez pas de virgule supplémentaire.

Si vous définissez ignore_empty sur FALSE:

=TEXTJOIN(", ", FALSE, E1:G1)

Excel TEXTJOIN oubliant de sauter les blancs

Le résultat est maintenant le suivant : "Rouge, bleu". Cette virgule supplémentaire se remarque (et n'est généralement pas ce que vous voulez). D'après mon expérience, TRUE est généralement la meilleure solution.

Tout cela peut sembler une petite différence, mais si vous pratiquez un peu cette fonction, vous gagnerez du temps sur les nettoyages post-processus.

Création de listes et d'étiquettes dynamiques

Maintenant que vous avez vu les principes de base, explorons les façons dont TEXTJOIN() peut résoudre les problèmes. Je me concentrerai sur deux scénarios que vous êtes susceptible de rencontrer : la création de résumés dynamiques et l'assemblage d'étiquettes à partir de données variables.

Créer des résumés à partir des données de l'utilisateur

Supposons que vous recueilliez les réponses d'une enquête dans laquelle les utilisateurs répondent par Oui/Non à une série de questions facultatives. Seule une partie d'entre eux répondra, de sorte que les résultats sont répartis entre F1 et J1. 

Si vous souhaitez répertorier uniquement les questions auxquelles ils ont répondu "oui", vous pouvez utiliser TEXTJOIN() en combinaison avec IF() et FILTER() (avec des tableaux dynamiques dans les nouvelles versions d'Excel).

Supposons que G1:G5 contienne le texte de la question et que F1:F5 contienne les réponses Oui/Non correspondantes :

=TEXTJOIN(", ", TRUE, FILTER(F2:J2, F1:J1="Yes"))

Excel TEXTJOIN combiné avec FILTER

Votre cellule de sortie ne contient plus que les questions auxquelles l'utilisateur a répondu "Oui", séparées par des virgules.

Si vous ne disposez pas de tableaux dynamiques, vous pouvez créer une colonne d'aide qui n'affiche le texte de la question que si la réponse est Oui, puis joindre cette plage d'aide à TEXTJOIN().

Création d'étiquettes personnalisées à partir de données variables

Imaginez que vous prépariez des étiquettes d'expédition à partir d'un tableau dont certains champs (comme "Appartement" ou "Suite") sont parfois vides. Vous souhaitez réunir les composants d'adresse en une seule ligne.

Si votre adresse se trouve dans H1 ("123 Main St"), H2 ("Apt 4B" ou vide), H3 ("Springfield"), H4 ("IL"), H5 ("62704"), vous utiliserez :

=TEXTJOIN(", ", TRUE, H1:L1)

Excel TEXTJOIN avec flexibilité pour les cellules vides

Si H2 est vide, votre résultat est toujours propre (pas de double virgule !) car TEXTJOIN() ignore la cellule vide.

Il s'agit là d'exemples courants, mais la même logique s'applique partout où vous fusionnez des données avec des champs facultatifs ou des inclusions conditionnelles.

Autres éléments à prendre en compte

Aussi pratique que soit le site TEXTJOIN(), il présente quelques inconvénients :

Utilisation de plusieurs plages avec TEXTJOIN()

Une chose à savoir à propos de TEXTJOIN() est la façon dont il gère les plages multiples. Vous pouvez passer dans plus d'une gamme même si elles ne sont pas côte à côte, à condition de les énumérer séparément :

=TEXTJOIN(", ", TRUE, B1:D1, B2:D2)

Excel TEXTJOIN avec une plage non contiguë

Cela fonctionne très bien. Excel combinera les valeurs des deux plages et les joindra. N'oubliez pas : Vous ne pouvez pas les écrire sous la forme d'un tableau unique comme (A1:A3,C1:C3). Vous devez énumérer chaque plage comme son propre argument.

Fonctions imbriquées et tableaux dynamiques

Si vous utilisez TEXTJOIN() dans le cadre d'une formule de tableau dynamique (comme avec UNIQUE() ou FILTER()), n'oubliez pas que vos arguments delimiter et ignore_empty doivent toujours être des valeurs uniques. L'utilisation de tableaux renverra une erreur #VALUE!.

Délimiteurs et formatage final

Parfois, vous ne voulez pas de délimiteur (vous souhaitez simplement regrouper tout le texte). Définissez le délimiteur à "" (c'est-à-dire une chaîne vide) :

=TEXTJOIN("", TRUE, A1:C1)

Excel TEXTJOIN sans délimiteur

Attention : si vous omettez le délimiteur, vous perdez le principal avantage de la fonction par rapport à CONCAT().

Si vous souhaitez créer des listes à utiliser en dehors d'Excel (comme des téléchargements CSV), faites attention aux espaces supplémentaires, aux sauts de ligne inattendus ou à l'encodage des caractères (en particulier si vous utilisez des symboles ou l'Unicode).

Fonctions connexes et techniques avancées

Au fur et à mesure que vous vous familiariserez avec TEXTJOIN(), vous vous demanderez peut-être comment elle s'intègre aux autres fonctions "dynamiques" d'Excel. Souvent, en le combinant avec UNIQUE(), FILTER(), ou SORT(), vous le rendez encore plus puissant.

Par exemple, supposons que vous souhaitiez regrouper toutes les catégories de produits uniques d'une liste :

=TEXTJOIN(", ", TRUE, UNIQUE(TRANSPOSE(A1:E1)))

Note: UNIQUE() est orienté colonne par défaut dans Excel. Comme je travaillais suravec une ligne, j'ai également dû utiliser TRANSPOSE().

Ou bien vous ne voulez que ceux qui remplissent une certaine condition :

=TEXTJOIN(", ", TRUE, FILTER(A1:C1, A2:C2="Active"))

Ces deux exemples montrent comment TEXTJOIN() peut résumer ou présenter des données sans colonnes d'aide ni filtrage manuel.

Conclusion

Si vous utilisez encore CONCATENATE() ou si vous enchaînez manuellement les cellules, le passage à TEXTJOIN() vous fera gagner du temps. (Je vous le promets !)

J'ajoute que l'apprentissage du site TEXTJOIN() vous permet d'être à l'aise avec les échelles de valeurs. Cet état d'esprit est payant lorsque vous utilisez les fonctions de tableau dynamique d'Excel et d'autres approches plus modernes telles que . Suivez notre cours Fonctions Excel avancées pour continuer à apprendre.


Josef Waples's photo
Author
Josef Waples

Je suis rédacteur et éditeur dans le domaine de la science des données. Je suis particulièrement intéressé par l'algèbre linéaire, les statistiques, R, etc. Je joue également beaucoup aux échecs ! 

Sujets

Apprenez Excel avec DataCamp

Cours

Introduction to Excel

4 h
145.6K
Master the Excel basics and learn to use this spreadsheet tool to conduct impactful analysis.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow