Qu'est-ce que la fonction CONCAT ?
Tu sors CONCAT quand ta formule d'assemblage s'allonge avec CONCATENER, cellule après cellule, et que tu voudrais pointer une plage entière d'un coup plutôt que chaque référence une à une. C'est le gain de temps qui compte, surtout sur un tableau de plusieurs centaines de lignes où chaque cellule économisée dans la formule se répète autant de fois qu'il y a de lignes.
Concrètement, c'est elle qui crée des codes produits à partir de plusieurs composants, assemble les prénom et nom d'une liste RH, construit des identifiants uniques pour une base de données ou génère des codes d'emplacement dans un entrepôt. Dès que tu dois coller plusieurs cellules bout à bout, CONCAT est le réflexe à adopter.
Syntaxe
Clique sur un argument pour aller à son explication.
CONCAT ne gère pas les cellules vides de façon particulière : une cellule vide dans ta plage contribue simplement une chaîne vide, sans que la fonction l'ignore ni génère d'erreur. Pour ignorer les vides ou ajouter un séparateur automatique, utilise JOINDRE.TEXTE.

Comprendre chaque paramètre de la fonction CONCAT
Un seul argument est vraiment obligatoire : texte1, le premier morceau à coller. Tout le reste suit dans l'ordre où tu l'écris, et c'est cet ordre qui dessine ta chaîne finale, caractère après caractère. Glisse une plage comme A1:A5 à la place d'une simple cellule et CONCAT avale toute la colonne d'un coup, là où CONCATENER t'obligeait à les citer une par une.
texte1
: le premier élément à assemblerÇa peut être du texte direct entre guillemets ("Bonjour"), une référence de cellule (A1) ou une plage entière (A1:A5). C'est le seul paramètre obligatoire. C'est la capacité à accepter une plage qui différencie CONCAT de CONCATENER.
[texte2], [texte3], ...
: tu peux ajouter jusqu'à 254 éléments supplémentaires(facultatif)Chaque élément sera collé à la suite du précédent, sans espace ni séparateur automatique. Si tu veux des espaces ou des tirets entre tes éléments, tu dois les ajouter explicitement comme arguments.
Exemple : =CONCAT(A1;" ";B1) pour ajouter un espace entre A1 et B1, ou =CONCAT(A1;"-";B1;"-";C1) pour des tirets.

Exemples pratiques pas à pas
Comment assembler un identifiant employé avec la fonction CONCAT
Ton fichier du personnel est propre mais éclaté : le service, l'année d'embauche et le matricule vivent dans trois colonnes séparées, alors que le logiciel de paie réclame un identifiant unique du type RH-2024-001. Recopier 300 codes à la main, c'est une heure perdue et des fautes de frappe garanties. CONCAT assemble les trois colonnes en une seule chaîne de texte, en intercalant les tirets que tu choisis. C'est la version moderne de CONCATENER, disponible à partir d'Excel 2019.
- 1Dans une cellule, écris
=CONCAT(. - 2En 1er argument : clique sur la cellule du service,
B2. Elle contientRH, et c'est ce code qui ouvre l'identifiant attendu par la paie. - 3En 2ᵉ argument : saisis le premier tiret entre guillemets,
"-". Les guillemets disent à Excel d'écrire ce caractère tel quel, alors qu'une référence commeB2s'écrit nue, sans guillemets. - 4En 3ᵉ argument : clique sur la cellule de l'année d'embauche,
C2. Elle affiche2024, et cette année occupe la partie centrale du code. - 5En 4ᵉ argument : saisis le second tiret,
"-". CONCAT n'intercale aucun séparateur d'elle-même, donc chaque tiret visible dans le résultat doit être écrit comme un argument à part entière. - 6En 5ᵉ argument : clique sur la cellule du matricule,
D2. Elle contient001, et c'est ce numéro qui rend chaque identifiant unique. - 7Ferme la parenthèse et appuie sur Entrée.
=CONCAT(B2; "-"; C2; "-"; D2)Comment garder une date lisible avec les fonctions CONCAT et TEXTE
Tu prépares les messages de suivi à envoyer aux clients, et chaque phrase doit reprendre le numéro de commande et la date de livraison. Premier essai, la date sort en 45369 et le message devient incompréhensible. En emboîtant TEXTE dans CONCAT, tu forces la date à s'écrire au format jj/mm/aaaa avant d'être assemblée, et la phrase reste propre.
- 1Dans une cellule, écris
=CONCAT(. - 2En 1er argument : saisis le début de la phrase entre guillemets,
"Commande ". L'espace glissé juste avant le guillemet fermant est volontaire, sans lui le numéro de commande viendrait se coller au mot qui le précède. - 3En 2ᵉ argument : clique sur la cellule du numéro de commande,
B2. Elle afficheCMD-1042, et comme la formule pointe la cellule plutôt que le numéro lui-même, chaque ligne du tableau reprend le sien. - 4En 3ᵉ argument : saisis la suite de la phrase,
" livrée le ". Elle porte un espace de chaque côté, l'un pour la détacher du numéro de commande, l'autre pour la détacher de la date. - 5En 4ᵉ argument : écris la conversion de la date et referme-la,
TEXTE(C2; "jj/mm/aaaa"). La fonction TEXTE fabrique une version écrite de la date de livraison, au format jour, mois et année sur quatre chiffres, avant que CONCAT ne la colle dans la phrase. - 6Ferme la parenthèse de la fonction CONCAT et appuie sur Entrée. Celle de la fonction TEXTE a déjà été refermée à l'étape précédente.
=CONCAT("Commande "; B2; " livrée le "; TEXTE(C2; "jj/mm/aaaa"))Commande CMD-1042 livrée le 45369 : Excel stocke les dates en numéro de série, et la concaténation perd le format d'affichage au passage.Comment coller une plage entière de cellules avec la fonction CONCAT
L'export de ton fournisseur découpe chaque code-barres en quatre blocs répartis sur quatre colonnes, alors que ton outil d'inventaire attend le code d'un seul tenant. Sur des milliers de lignes, tu veux une formule courte, pas une liste d'arguments à rallonge. CONCAT accepte une plage complète en argument et recolle les blocs dans l'ordre de lecture.
- 1Dans une cellule, écris
=CONCAT(. - 2En 1er argument : sélectionne à la souris la plage des quatre blocs,
A2:D2. La sélection s'arrête à la colonne D, car la colonne E ne contient pas de donnée source mais le code une fois assemblé. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. La plage lue devient
A3:D3puisA4:D4, et chaque ligne de l'export récupère ainsi son code d'un seul tenant.
=CONCAT(A2:D2)A2:D2 de gauche à droite et soude les quatre blocs sans rien intercaler. L'opérateur & et l'ancienne CONCATENER, eux, t'obligeraient à citer chaque cellule une par une, ce qui devient vite illisible au-delà de trois ou quatre morceaux.
Les erreurs fréquentes avec la fonction CONCAT
CONCAT ne se plaint presque jamais avec un code d'erreur : elle colle bêtement ce que tu lui donnes, vides compris. Du coup le souci numéro un, c'est le séparateur en double quand une cellule intermédiaire est vide (tu obtiens Marie--Dupont), suivi des dates qui ressortent en numéro de série brut comme 45292.
Les cellules vides créent des séparateurs doublés
CONCAT inclut les cellules vides dans le résultat (elles contribuent une chaîne vide). Si une cellule intermédiaire est vide, tu te retrouves avec "Marie--Dupont" au lieu de "Marie-Dupont" : le séparateur est toujours inséré, même si la valeur est absente.
Solution : Utilise JOINDRE.TEXTE avec le paramètre ignorer_vide défini sur VRAI, ou combine CONCAT avec SI pour filtrer les vides : =CONCAT(SI(A1<>"";A1&"-";"");B1).
Les dates et nombres affichent un format bizarre
Quand tu concatènes une date, Excel affiche le numéro de série (45292 au lieu de 01/01/2024). Pareil pour les pourcentages ou les montants formatés : le formatage est perdu lors de la concaténation.
Solution : Utilise la fonction TEXTE pour formater avant de concaténer : =CONCAT("Date : ";TEXTE(A1;"JJ/MM/AAAA")) ou =CONCAT("Montant : ";TEXTE(B1;"# ##0,00 €")).
Résultat trop long qui dépasse la limite de cellule
Une cellule Excel peut contenir jusqu'à 32 767 caractères. Si tu concatènes de très longues plages de texte, tu peux atteindre cette limite et perdre des données.
Solution : Vérifie la longueur avec =NBCAR(CONCAT(...)). Si tu dépasses, divise ta concaténation en plusieurs cellules intermédiaires ou repense ta structure de données.

CONCAT vs CONCATENER vs JOINDRE.TEXTE vs &
Garde CONCAT quand tes séparateurs varient d'un endroit à l'autre (un tiret ici, un underscore là) ou que tu colles une plage sans rien intercaler. Dès que le même séparateur revient partout et que tu veux sauter les cellules vides, JOINDRE.TEXTE fait tout ça d'office. CONCATENER et l'opérateur & ne restent justifiés que pour une vieille version d'Excel ou deux-trois cellules vite assemblées.
| Critère | CONCAT | CONCATENER | JOINDRE.TEXTE | Opérateur & |
|---|---|---|---|---|
| Accepte les plages | ✅ Oui | ❌ Non | ✅ Oui | ❌ Non |
| Séparateur automatique | ❌ Non | ❌ Non | ✅ Oui | ❌ Non |
| Ignore les cellules vides | ❌ Non | ❌ Non | ✅ Option | ❌ Non |
| Facilité d'écriture | ⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| Compatibilité | Excel 2016+ | Toutes versions | Excel 2016+ | Toutes versions |
| Cas d'usage idéal | Plages sans séparateur uniforme | Ancienne version d'Excel | Listes avec séparateur identique | Concaténations courtes |

Astuces avancées avec CONCAT
Ajouter un texte conditionnel avec SI
Tu peux utiliser SI à l'intérieur de CONCAT pour créer des textes conditionnels. =CONCAT(A1;" - ";SI(B1>100;"Stock élevé";"Stock normal")) ajoute un statut dynamique selon la valeur de B1, sans avoir à maintenir une colonne séparée.
Le résultat est un texte prêt à coller dans un rapport ou une alerte.
Insérer un retour à la ligne dans une cellule
Pour créer du texte sur plusieurs lignes dans une cellule, utilise CAR(10) comme séparateur : =CONCAT(A1;CAR(10);B1). Active ensuite "Renvoyer à la ligne automatiquement" dans le format de cellule pour que le saut de ligne soit visible.
C'est utile pour les adresses, les étiquettes ou les notes multi-lignes.
Nettoyer les espaces avant de concaténer
Si tes données sources contiennent des espaces en trop (espaces de début, de fin ou doublés), entoure chaque référence avec SUPPRESPACE : =CONCAT(SUPPRESPACE(A1);" ";SUPPRESPACE(B1)). Sans ça, tu obtiens "Marie Dupont" (double espace) ou " RH-2024" (espace de tête).
Un nettoyage en amont évite les erreurs silencieuses dans les recherches et les correspondances.
Créer des URLs ou des requêtes dynamiques
CONCAT est parfaite pour générer des liens dynamiques à partir de codes produits ou d'identifiants : =CONCAT("https://example.com/produit/";A1) construit l'URL de chaque fiche produit sans saisie manuelle.
Le même principe fonctionne pour des requêtes SQL partielles, des chemins de fichiers ou des paramètres d'API.
Questions fréquentes
CONCAT est la version moderne qui accepte les plages de cellules comme A1:A10. CONCATENER, l'ancienne fonction, nécessite de lister chaque cellule séparément. Si tu as 10 cellules à assembler, CONCAT te fait gagner énormément de temps.
Inclus le séparateur comme argument : =CONCAT(A1;" ";B1) pour un espace, ou =CONCAT(A1;"-";B1) pour un tiret. Si tu dois ajouter le même séparateur partout, utilise plutôt JOINDRE.TEXTE qui le fait automatiquement.
Non, CONCAT inclut les cellules vides dans le résultat (elles apparaissent comme du texte vide). Si tu veux ignorer les cellules vides, utilise JOINDRE.TEXTE avec le paramètre ignorer_vide défini sur VRAI.
CONCAT accepte jusqu'à 255 arguments, mais tu peux passer des plages entières dans un seul argument. Donc =CONCAT(A1:Z100) ne compte que comme 1 argument même s'il y a 2 600 cellules. C'est là toute la puissance de CONCAT.
Les dates sont stockées comme des nombres dans Excel. Si tu concatènes une cellule contenant 01/01/2024, tu obtiens 45292. Utilise la fonction TEXTE pour formater : =CONCAT(TEXTE(A1;"JJ/MM/AAAA");"-";B1).
Une cellule Excel peut contenir jusqu'à 32 767 caractères. Si tu concatènes de très longues plages de texte, tu peux atteindre cette limite. Vérifie avec =NBCAR(CONCAT(...)) pour t'assurer de rester sous le seuil.
Pour aller plus loin
Continue sur ta lancée après la fonction CONCAT : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



