Tu as des données texte dans Excel et tu veux les assembler, les nettoyer ou les reformater ? Il existe quatre fonctions incontournables pour ça : JOINDRE.TEXTE, SUBSTITUE, CONCATENER et REMPLACER. Chacune a son rôle précis, et combinées, elles te permettent d’automatiser des tâches qui prennent sinon des heures à la main.
Dans cet article, tu vas voir comment utiliser chacune de ces fonctions avec des exemples concrets : créer un email à partir d’un prénom et d’un nom, nettoyer des numéros de téléphone, extraire une ville d’une adresse ou masquer des données sensibles. Si tu débutes sur Excel, commence par le guide débutant Excel avant de revenir ici.
- Assembler plusieurs cellules avec JOINDRE.TEXTE et choisir ton séparateur
- Remplacer ou supprimer un caractère précis avec SUBSTITUE
- Extraire des morceaux de texte avec GAUCHE, DROITE et STXT
- Localiser un mot dans une chaîne avec CHERCHE et TROUVE
- Poser des conditions sur du texte avec SI imbriqué
- Appliquer tout ça sur 4 cas pratiques concrets
JOINDRE.TEXTE : assembler du texte avec un délimiteur

JOINDRE.TEXTE est la fonction la plus puissante pour concaténer du texte dans Excel. Elle est disponible depuis Excel 2019 et Excel 365. Sa grande force : elle accepte des plages entières et peut ignorer automatiquement les cellules vides.
Syntaxe
=JOINDRE.TEXTE(délimiteur ; ignorer_vide ; texte1 ; [texte2] ; ...)
- délimiteur : le caractère qui sépare les morceaux (ex.
" "pour un espace,","pour une virgule). - ignorer_vide : mets
VRAIpour ignorer les cellules vides,FAUXpour les conserver. - texte1, texte2… : les cellules ou plages à assembler. Tu peux mettre
A2:A10directement.
Exemple : assembler prénom et nom
=JOINDRE.TEXTE(" " ; VRAI ; A2 ; B2)Résultat : si A2 = Jean et B2 = Dupont, tu obtiens Jean Dupont. Si B2 est vide, tu obtiens juste Jean sans espace traînant.
Exemple : assembler une colonne entière
=JOINDRE.TEXTE(", " ; VRAI ; A2:A20)Cette formule concatène toutes les valeurs de A2 à A20 en les séparant par une virgule et un espace. Les cellules vides sont ignorées. Pratique pour créer une liste à partir d’une colonne.
Différence avec CONCAT et CONCATENER
| Fonction | Délimiteur | Plage entière | Ignorer vide | Disponibilité |
|---|---|---|---|---|
| CONCATENER | Non (à écrire manuellement) | Non | Non | Toutes versions |
| CONCAT | Non (à écrire manuellement) | Oui | Non | Excel 2019 / 365 |
| JOINDRE.TEXTE | Oui | Oui | Oui | Excel 2019 / 365 |
En pratique, si tu es sur Excel 365, utilise toujours JOINDRE.TEXTE. Si tu dois garantir la compatibilité avec d’anciennes versions, CONCATENER reste ta seule option.
SUBSTITUE : remplacer du texte dans une cellule
SUBSTITUE cherche un texte précis dans une cellule et le remplace par un autre. C’est l’équivalent du « Remplacer » (Ctrl + H) mais en formule, donc non destructif et dynamique.
Syntaxe
=SUBSTITUE(texte ; ancien_texte ; nouveau_texte ; [no_occurrence])
- texte : la cellule source.
- ancien_texte : le texte à remplacer.
- nouveau_texte : le texte de remplacement. Mets
""pour supprimer. - no_occurrence (optionnel) : si le texte apparaît plusieurs fois, indique lequel remplacer (1, 2, 3…). Sans ce paramètre, tous les cas sont remplacés.
Exemple : supprimer les tirets d’un numéro de téléphone
=SUBSTITUE(A2 ; "-" ; "")
Si A2 = 06-12-34-56-78, le résultat est 0612345678. Tous les tirets sont supprimés d’un coup.
Exemple : remplacer uniquement la 2e occurrence
=SUBSTITUE(A2 ; " " ; "-" ; 2)
Si A2 = Paris 75001 France, seul le deuxième espace est remplacé : Paris 75001-France. Le paramètre 2 cible précisément la deuxième occurrence.
GAUCHE, DROITE, STXT : extraire du texte par position
Ces trois fonctions extraient un nombre fixe de caractères depuis une position connue. Utiles quand la structure de tes données est régulière.
GAUCHE : extraire depuis le début
=GAUCHE(texte ; nb_car)
Exemple : =GAUCHE(A2 ; 3) sur Paris donne Par. Pratique pour extraire un code pays (FR-75001 → FR).
DROITE : extraire depuis la fin
=DROITE(texte ; nb_car)
Exemple : =DROITE("FR-75001" ; 5) donne 75001. Tu extrais les 5 derniers caractères.
STXT : extraire n’importe où dans la chaîne
=STXT(texte ; no_départ ; nb_car)
Exemple : =STXT("FR-75001-Paris" ; 4 ; 5) donne 75001. Le premier chiffre indique la position de départ (ici le 4e caractère), le second indique combien de caractères extraire.
CHERCHE et TROUVE combinés avec STXT : extraction conditionnelle
Quand la position du texte que tu veux extraire varie d’une cellule à l’autre, tu ne peux pas utiliser un numéro fixe. C’est là que CHERCHE et TROUVE entrent en jeu.
Différence entre CHERCHE et TROUVE
- CHERCHE : non sensible à la casse.
cherchetrouve aussiCHERCHE. - TROUVE : sensible à la casse.
Parisne trouve pasparis.
Syntaxe commune
=CHERCHE(texte_cherché ; texte ; [no_départ]) =TROUVE(texte_cherché ; texte ; [no_départ])
Ces fonctions renvoient la position (numéro de caractère) du texte cherché. Utilise ce résultat comme point de départ dans STXT.
Exemple : extraire le prénom avant un espace
=GAUCHE(A2 ; CHERCHE(" " ; A2) - 1)Si A2 = Jean Dupont, CHERCHE trouve l’espace en position 5. GAUCHE extrait alors les 4 premiers caractères : Jean.
Exemple : extraire ce qui vient après un espace
=STXT(A2 ; CHERCHE(" " ; A2) + 1 ; LEN(A2))LEN (ou NBCAR en français complet) renvoie la longueur totale de la chaîne. Cette formule extrait tout ce qui suit le premier espace : ici Dupont.
SI imbriqué pour tester du texte
Tu peux combiner SI avec des fonctions texte pour poser des conditions sur le contenu d’une cellule.
Tester si une cellule contient un texte précis
=SI(ESTERREUR(CHERCHE("Paris" ; A2)) ; "Non" ; "Oui")CHERCHE renvoie une erreur si le texte n’est pas trouvé. ESTERREUR intercepte cette erreur pour retourner Non, sinon Oui. Résultat : la formule indique si la cellule contient le mot Paris.
Classer selon le contenu
=SI(A2="Paris" ; "Capitale" ; SI(A2="Lyon" ; "Métropole" ; "Autre ville"))
Tu peux imbriquer autant de SI que nécessaire (jusqu’à 64 niveaux dans Excel). Pour des cas plus complexes, préfère IFS (SI.CONDITIONS) qui est plus lisible.
Ajouter une valeur texte conditionnelle
=JOINDRE.TEXTE(" " ; VRAI ; A2 ; SI(B2="VIP" ; "(VIP)" ; ""))Si B2 = VIP, la formule produit Jean Dupont (VIP). Sinon, elle produit juste Jean Dupont. Le paramètre VRAI de JOINDRE.TEXTE ignore la valeur vide quand la condition n’est pas remplie.
Cas pratiques
1. Créer un email professionnel depuis prénom et nom
=JOINDRE.TEXTE("." ; VRAI ; MINUSCULE(A2) ; MINUSCULE(B2)) & "@entreprise.fr"Si A2 = Jean et B2 = Dupont, tu obtiens jean.dupont@entreprise.fr. MINUSCULE garantit que tout est en bas de casse, quel que soit le format d’origine.
2. Nettoyer des numéros de téléphone
Les numéros arrivent souvent dans des formats incohérents (tirets, espaces, points). Tu peux tout nettoyer en chaînant plusieurs SUBSTITUE :
=SUBSTITUE(SUBSTITUE(SUBSTITUE(A2 ; "-" ; "") ; " " ; "") ; "." ; "")
Cette formule supprime d’abord les tirets, puis les espaces, puis les points. 06-12 34.56.78 devient 0612345678.
3. Extraire la ville d’une adresse structurée
Pour une adresse du type 12 rue de la Paix, 75001 Paris, on veut extraire ce qui suit le code postal (toujours 5 chiffres suivis d’un espace) :
=STXT(A2 ; CHERCHE(", " ; A2) + 8 ; NBCAR(A2))CHERCHE trouve la virgule. On saute ensuite 8 caractères (la virgule, l’espace et les 5 chiffres du code postal, plus l’espace suivant). Résultat : Paris. Adapte le décalage si ta structure est différente.
4. Masquer des données sensibles
Pour afficher seulement les 4 derniers chiffres d’un numéro de carte bancaire :
=REPT("*" ; NBCAR(A2) - 4) & DROITE(A2 ; 4)REPT répète le caractère * autant de fois que nécessaire. DROITE extrait les 4 derniers chiffres. 1234567890123456 devient ************3456.

