🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction CONCAT dans Excel — Le successeur de CONCATENER qui avale des plages entières

|

Fonction CONCAT dans Excel — Le successeur de CONCATENER qui avale des plages entières

L'essentielCONCAT est le remplaçant moderne de CONCATENER. La seule chose qu'il fait de plus que son prédécesseur : prendre une plage entière d'un coup, =CONCAT(A1:A10), au lieu de lister les cellules A1 ; A2 ; A3 ; … à la main. Ce qu'il ne fait pas : insérer un séparateur ou ignorer les vides — il accole simplement le texte. Syntaxe : =CONCAT(texte1 ; [texte2] ; …). Si vous avez besoin d'un séparateur ou d'ignorer les vides, ne rafistolez pas CONCAT avec & — passez directement à TEXTJOIN. Excel 365 et 2019+.

=CONCAT(A1:A10)
=CONCAT(A2, " — ", B2)

CONCATENER existe depuis des décennies, et il marche encore — mais la propre documentation de Microsoft le qualifie de fonction « conservée pour la compatibilité », remplacée par CONCAT. La différence au quotidien est petite mais réelle : CONCAT avale une plage entière en une référence, là où CONCATENER vous fait pointer chaque cellule individuellement.

Remarque : dans une interface Excel en français, CONCAT s'appelle CONCAT et l'ancien CONCATENATE s'appelle CONCATENER. Apparentée : TEXTJOIN = JOINDRE.TEXTE. Les formules ci-dessous utilisent les noms anglais ; le comportement est identique.

Ce que vous allez apprendre

  • La seule vraie amélioration sur CONCATENER : des plages au lieu du cellule par cellule
  • Pourquoi CONCATENER est un vestige que vous pouvez cesser d'écrire
  • Comment CONCAT lit une plage 2D — ligne par ligne, ce qui surprend
  • Le piège du format (les dates deviennent des numéros de série, la monnaie perd son symbole)
  • Quand sauter CONCAT complètement et prendre TEXTJOIN

Le modèle mental : CONCATENER qui prend enfin une plage

CONCATENER a toujours été un peu absurde : pour joindre dix cellules, vous tapiez =CONCATENER(A1 ; A2 ; A3 ; A4 ; A5 ; A6 ; A7 ; A8 ; A9 ; A10). CONCAT corrige exactement cela — il accepte une plage, donc la même jointure est =CONCAT(A1:A10). Tout le reste est identique : aucun séparateur entre les valeurs, et les cellules vides n'apportent rien de visible (il n'y a rien à ignorer — un vide n'ajoute aucun caractère) :

' Ancien — chaque cellule listée à la main :
=CONCATENER(A1 ; A2 ; A3 ; A4 ; A5)

' CONCAT — une plage :
=CONCAT(A1:A5)

La règle qui débloque tout : sans séparateur, vous voudrez souvent TEXTJOIN

C'est le jugement que la plupart ratent. CONCAT accole le texte avec rien entre les valeurs. À l'instant où vous voulez une virgule, un espace ou un saut de ligne entre elles — ou ignorer les vides — vous êtes au-delà de ce pour quoi CONCAT est fait. On essaie d'y greffer un séparateur :

=CONCAT(A2, ", ", B2, ", ", C2)   ' marche pour quelques cellules, mais vous tapez
                                  ' de nouveau le séparateur à la main — l'ancienne peine

…ce qui est CONCATENER sous un nouveau nom. Si la réponse implique un séparateur, TEXTJOIN le fait en un argument (=TEXTJOIN(", " ; VRAI ; A2:C2)) et ignore aussi les vides. Réservez CONCAT au vrai cas « accoler sans rien entre » — bâtir un identifiant à partir de morceaux, assembler un code, coller un préfixe devant une valeur.

Comment CONCAT lit une plage 2D : ligne par ligne

Quand vous donnez à CONCAT une plage rectangulaire, l'ordre de lecture surprend : il va ligne par ligne (de gauche à droite, de haut en bas), pas colonne par colonne :

' A1=a  B1=b
' A2=c  B2=d
=CONCAT(A1:B2)   ' -> "abcd"   (a, b, puis c, d — d'abord en travers de chaque ligne)

Si vous attendiez "acbd", voilà le piège. Là où l'ordre compte, écrivez la séquence explicitement plutôt que de faire confiance à l'ordre de lecture d'un bloc.

Le piège du format des nombres

CONCAT joint la valeur sous-jacente, pas ce que vous voyez. Une date apparaît comme son numéro de série, la monnaie perd son et ses décimales, un pourcentage devient une fraction brute :

=CONCAT("Échéance : ", B2)            ' -> "Échéance : 46204"   si B2 est une date
=CONCAT("Échéance : ", TEXTE(B2, "jj/mm/aaaa"))   ' -> "Échéance : 17/06/2026"

Chaque fois qu'un nombre, une date ou une monnaie entre dans CONCAT (ou TEXTJOIN, ou &), enveloppez-le dans TEXTE() avec un format explicite. C'est la raison la plus fréquente pour laquelle la sortie jointe « paraît fausse ». La même limite de 32 767 caractères par cellule s'applique — un débordement renvoie #VALUE!.

Le jugement : CONCAT, CONCATENER ou TEXTJOIN ?

Cessez d'écrire CONCATENER dans les nouvelles formules — CONCAT fait tout ce qu'il fait et prend des plages. Entre les deux survivants : si vous voulez aucun séparateur, prenez CONCAT ; à la seconde où vous voulez un séparateur ou ignorer les vides, prenez TEXTJOIN. C'est toute la décision. Le piège à éviter est de saisir CONCAT puis de le béquiller avec & et SUBSTITUE pour recréer ce que TEXTJOIN donne gratuitement.

Comment ExcelMaster aide

La plupart des demandes de « joins ceci » portent des règles de format cachées : construis la référence article à partir de la catégorie, d'un tiret et d'un numéro complété par des zéros. ExcelMaster choisit la bonne fonction — CONCAT pour la colle brute, TEXTJOIN quand un séparateur ou un saut de vide est en jeu — enveloppe nombres et dates dans le bon format TEXTE(), et écrit la formule à partir de votre description. Vous dites comment la sortie doit se lire ; il choisit la mécanique.

Questions fréquentes

Quelle est la différence entre CONCAT et CONCATENER ?

CONCAT peut prendre une plage entière (=CONCAT(A1:A10)) ; CONCATENER vous fait lister chaque cellule à la main. Sinon ils se comportent pareil — aucun séparateur, aucun saut de vide. CONCATENER n'est gardé que pour la compatibilité, alors prenez CONCAT dans le travail neuf.

Comment concaténer une plage de cellules dans Excel ?

Utilisez =CONCAT(A1:A10). S'il vous faut un séparateur entre les valeurs ou ignorer les cellules vides, prenez =TEXTJOIN("; " ; VRAI ; A1:A10) à la place — CONCAT n'a pas d'option de séparateur.

Comment ajouter un séparateur avec CONCAT ?

Pas proprement — CONCAT accole les valeurs sans rien entre elles. Taper le séparateur à la main (=CONCAT(A2 ; ", " ; B2)) marche pour deux cellules mais manque le but. Pour une liste séparée, prenez TEXTJOIN.

Pourquoi CONCAT affiche-t-il une date sous forme de nombre ?

CONCAT joint la valeur sous-jacente, pas le format affiché, donc une date apparaît comme son numéro de série. Enveloppez-la dans TEXTE : =CONCAT("Échéance : " ; TEXTE(B2 ; "jj/mm/aaaa")).

CONCAT fonctionne-t-il dans Excel 2016 ?

Non. CONCAT est arrivé avec Excel 2019 et 365. Sur 2016, vous revenez à CONCATENER ou à l'opérateur &.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 17/06/2026.

Guides connexes : Excel TEXTJOIN · Excel TEXTSPLIT · Excel FILTER · VBA Concaténation