L'essentiel —
TEXTJOINcolle une plage de valeurs en une seule chaîne, place un séparateur entre elles et — c'est la partie que tout le monde manque — ignore les cellules vides pour vous. Syntaxe :=TEXTJOIN(séparateur ; ignore_vide ; texte1 ; …). Le deuxième argument est tout l'enjeu :VRAIsaute les vides pour ne jamais produire"Anna ; ; ; Ben";FAUXgarde les trous. Une limite à connaître : le résultat ne peut dépasser 32 767 caractères (une cellule), sinon vous obtenez#VALUE!. Disponible dans Excel 365 et 2019+.
=TEXTJOIN("; ", VRAI, A2:A100)
=TEXTJOIN(" | ", VRAI, FILTER(Email, Statut = "Actif"))
Pendant des années, transformer une colonne de noms en "Anna ; Ben ; Carla"
voulait dire une chaîne de A2 & "; " & A3 & "; " & A4 … qui cassait dès qu'une
cellule était vide (un ; ; parasite) ou que quelqu'un insérait une ligne.
TEXTJOIN remplace toute la chaîne par une expression : une plage, un séparateur
et un interrupteur pour les vides. C'est la fonction du cas « une cellule contient
une liste ».
Remarque : dans une interface Excel en français, ces fonctions s'appellent JOINDRE.TEXTE (TEXTJOIN), FRACTIONNER.TEXTE (TEXTSPLIT), CONCAT (CONCAT) et CONCATENER (l'ancien CONCATENATE). Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.
Ce que vous allez apprendre
- Pourquoi
ignore_vide— et non le séparateur — est l'argument qui compte - La limite de 32 767 caractères et le
#VALUE!qu'elle déclenche - Quand
TEXTJOINl'emporte surCONCAT,CONCATENERet l'opérateur& - Comment joindre un résultat déversé (
FILTER,UNIQUE) en une seule cellule - L'astuce du séparateur que presque personne n'essaie : un tableau de séparateurs
Le modèle mental : un pistolet à colle avec séparateur
L'opérateur & et l'ancien CONCATENER collent deux choses à la fois, et vous
tapez le séparateur à la main entre chaque paire. TEXTJOIN est un pistolet à
colle : vous le chargez d'un séparateur, vous visez toute une plage, et il pose le
séparateur automatiquement entre les valeurs — et seulement entre elles, jamais
à la fin. Cette seule différence explique pourquoi TEXTJOIN existe et pourquoi il
se lit bien mieux :
' L'ancienne façon — séparateur répété à la main, casse sur une cellule vide :
=A2 & "; " & A3 & "; " & A4 & "; " & A5
' TEXTJOIN — un séparateur, une plage :
=TEXTJOIN("; ", VRAI, A2:A5)
La règle qui débloque tout : ignore_vide est l'essentiel
Voici la plainte numéro un, « ma liste est pleine de points-virgules », et ce
n'est pas un problème de séparateur — c'est le deuxième argument. ignore_vide
décide du sort des cellules vides :
' A3 et A5 sont vides :
=TEXTJOIN("; ", VRAI, A2:A6) ' -> "Anna; Ben; Carla" (vides ignorés)
=TEXTJOIN("; ", FAUX, A2:A6) ' -> "Anna; ; Ben; ; Carla" (vides gardés)
VRAI est ce que vous voulez 95 % du temps : une liste propre, sans séparateur
doublé, sans point-virgule en tête ni en queue. FAUX est le choix plus rare et
délibéré — quand chaque position doit s'aligner sur autre chose (un enregistrement
de largeur fixe, un modèle où le champ 3 reste le champ 3 même vide). Si & et
CONCATENER paraissent si fragiles, c'est qu'ils n'ont aucun équivalent de cet
interrupteur : chaque cellule vide devient un trou visible à nettoyer ensuite.
La limite que personne ne mentionne : 32 767 caractères
Un résultat de TEXTJOIN vit dans une cellule, et une cellule contient au plus
32 767 caractères. Joignez une longue colonne et vous pouvez franchir cette limite —
Excel renvoie alors #VALUE!, pas une chaîne tronquée :
=TEXTJOIN(";", VRAI, A:A) ' -> #VALUE! si le texte joint dépasse 32 767 caractères
Si vous l'atteignez, vous construisez presque toujours la mauvaise chose — une
cellule unique est rarement le bon foyer pour des dizaines de milliers de
caractères. Joignez une plage bornée (A2:A500) ou demandez-vous si la donnée a sa
place dans une seule cellule.
Joindre un tableau déversé en une seule cellule
C'est ici que TEXTJOIN gagne sa place dans l'Excel moderne. Les fonctions
matricielles dynamiques — FILTER,
UNIQUE, SORT —
déversent leurs résultats sur de nombreuses cellules. Parfois vous voulez
l'inverse : replier ce déversement en une chaîne lisible (une cellule de synthèse,
une ligne « À » d'e-mail, une ligne de CSV). TEXTJOIN prend un tableau
directement, alors vous l'imbriquez :
' L'e-mail de chaque client actif, dédoublonné, en une cellule :
=TEXTJOIN("; ", VRAI, UNIQUE(FILTER(Email, Statut = "Actif")))
Aucune plage de déversement à gérer, aucune colonne d'aide — les fonctions internes
produisent le tableau, TEXTJOIN l'aplatit. Le séparateur peut même être un
tableau de séparateurs ({"; " ; " et "}) si le dernier élément doit être joint
autrement — une astuce que presque aucun tutoriel ne montre.
Le jugement : TEXTJOIN, CONCAT ou & ?
N'utilisez & que pour coller deux ou trois éléments connus
(Prénom & " " & Nom). Dès que vous joignez une plage ou une liste, la
question se résume à : faut-il un séparateur ou ignorer les vides ? Si oui — et
c'est presque toujours le cas — prenez TEXTJOIN. Ne recourez à
CONCAT que si vous voulez vraiment aucun
séparateur et aucun saut de vide ; à la seconde où vous ajoutez & ou
SUBSTITUE pour simuler un séparateur, c'est TEXTJOIN qu'il fallait dès le
départ.
Comment ExcelMaster aide
Beaucoup de travail avec TEXTJOIN, c'est en fait « transforme cette colonne en
une chaîne que je colle ailleurs » : les adresses e-mail de tous les retards,
séparées par des points-virgules. ExcelMaster écrit cette formule à partir
d'une description en langage naturel — avec l'interrupteur ignore_vide et tout
FILTER/UNIQUE qui alimente la jointure — et dépose le résultat où vous voulez.
Vous décrivez la liste ; il gère la jointure.
Questions fréquentes
Comment joindre des cellules avec une virgule dans Excel ?
Utilisez =TEXTJOIN(", " ; VRAI ; A2:A100). Le premier argument est le séparateur,
le deuxième (VRAI) saute les cellules vides, le troisième est la plage. La virgule
et l'espace n'apparaissent qu'entre les valeurs, jamais à la fin.
Comment faire en sorte que TEXTJOIN ignore les cellules vides ?
Mettez le deuxième argument à VRAI : =TEXTJOIN("; " ; VRAI ; plage). Avec
FAUX, chaque cellule vide devient un emplacement vide et vous obtenez des
séparateurs doublés comme "a; ; b".
Pourquoi TEXTJOIN renvoie-t-il #VALUE! ?
La cause la plus fréquente est la limite de 32 767 caractères — une cellule ne peut en contenir davantage, donc une jointure de trop de valeurs déborde. Joignez une plage plus petite, ou reconsidérez si la donnée doit tenir dans une seule cellule.
TEXTJOIN ou CONCATENER — quelle différence ?
CONCATENER (et &) collent les valeurs sans séparateur et sans pouvoir ignorer
les vides, et CONCATENER ne prend pas une plage entière — vous listez les cellules
une à une. TEXTJOIN prend une plage ou un tableau, insère un séparateur
automatiquement et saute les vides à la demande. Pour les listes, TEXTJOIN gagne à
chaque fois.
TEXTJOIN fonctionne-t-il dans Excel 2016 ?
Non. TEXTJOIN est arrivé avec Excel 2019 et Excel 365. Sur 2016, vous revenez à
& ou CONCATENER avec séparateurs manuels.
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 17/06/2026.
Guides connexes : Excel TEXTSPLIT · Excel CONCAT · Excel FILTER · VBA Concaténation
