Les fonctions texte dans Excel
Extraire un code, remettre des noms en forme, assembler une adresse, nettoyer des espaces parasites : les fonctions texte réparent les données importées ou saisies à la main. Toutes les fonctions du module se testent ici dans un atelier qui applique votre formule à un vrai fichier de stagiaires, ligne par ligne, comme une recopie vers le bas.
Les fonctions GAUCHE() et DROITE()
=GAUCHE(texte;[nb_car]) renvoie les premiers caractères, =DROITE(texte;[nb_car]) les derniers. Sans nb_car, un seul caractère. Les espaces et la ponctuation comptent comme des caractères.
| Formule | A2 = FR-EXC-2026-014 | |
|---|---|---|
=GAUCHE(A2;2) | FR (le pays) | |
=DROITE(A2;3) | 014 (le numéro de session, en texte) | |
=GAUCHE(F2;TROUVE("@";F2)-1) | l’identifiant avant le @ de l’e-mail |
DROITE(A2;3) donne « 014 », aligné à gauche. Pour calculer, convertissez avec CNUM() ou --DROITE(A2;3).TROUVE (position d’un séparateur) ou NBCAR (longueur totale).La fonction CONCATENER() et l’opérateur &
=CONCATENER(texte1;texte2;…) met bout à bout jusqu’à 255 éléments. L’opérateur & fait exactement la même chose, en plus court. Pensez aux espaces : ils ne s’ajoutent jamais tout seuls.
| Formule | Résultat ligne 2 | |
|---|---|---|
=CONCATENER(C2;" ";B2) | marie-claire···DUPONT· (espaces parasites compris) | |
=NOMPROPRE(SUPPRESPACE(C2))&" "&MAJUSCULE(SUPPRESPACE(B2)) | Marie-Claire DUPONT | |
=STXT(E2;1;2)&" "&STXT(E2;3;2)&… | 03 21 04 56 78 (téléphone formaté) |
CONCAT remplace CONCATENER et accepte des plages : =CONCAT(A2:C2). CONCATENER reste disponible pour la compatibilité.TEXTE : ="Total : "&TEXTE(D2;"# ##0,00 €").MAJUSCULE(), MINUSCULE() et NOMPROPRE()
| Fonction | Effet | Exemple | |
|---|---|---|---|
MAJUSCULE | Tout en capitales, accents compris | émilie → ÉMILIE | |
MINUSCULE | Tout en minuscules | JEAN → jean | |
NOMPROPRE | Majuscule à la première lettre de chaque mot, le reste en minuscules | marie-claire → Marie-Claire |
=MAJUSCULE(SUPPRESPACE(B2)) et =NOMPROPRE(SUPPRESPACE(C2)).Les fonctions STXT() et NBCAR()
=STXT(texte;no_départ;nb_car) extrait des caractères au milieu du texte, à partir de la position no_départ. =NBCAR(texte) compte tous les caractères, espaces compris.
| Formule | Résultat ligne 2 | |
|---|---|---|
=STXT(A2;4;3) | EXC : le code formation (positions 4 à 6) | |
=CNUM(STXT(A2;8;4)) | 2026 : l’année, convertie en nombre | |
=NBCAR(B2) puis =NBCAR(SUPPRESPACE(B2)) | 9 puis 6 : trois espaces parasites détectés | |
=DROITE(A2;NBCAR(A2)-7) | 2026-014 : tout sauf les 7 premiers caractères |
La fonction JOINDRETEXTE()
=JOINDRETEXTE(délimiteur;ignorer_vide;texte1;…) (Excel 2019 et 365) assemble des cellules ou des plages en insérant un séparateur entre chaque élément. Avec VRAI, les cellules vides sont sautées : pas de séparateur en double.
| Formule | Résultat | |
|---|---|---|
=JOINDRETEXTE(" · ";VRAI;A2;D2;E2) | Ligne 7 : le téléphone vide est ignoré | |
=JOINDRETEXTE(" · ";FAUX;A2;D2;E2) | Ligne 7 : « · · » en fin de texte | |
=JOINDRETEXTE(";";VRAI;A2:C2) | Une plage entière en une seule fois |
=JOINDRETEXTE(", ";VRAI;FILTRE(B2:B7;D2:D7="Arras")).Les autres fonctions texte
| Fonction | Rôle | Exemple | |
|---|---|---|---|
SUPPRESPACE | Supprime les espaces en début et fin, et réduit les espaces multiples à un seul | =SUPPRESPACE(B2) | |
TROUVE / CHERCHE | Position d’un texte dans un autre. TROUVE respecte la casse, CHERCHE non (et accepte * et ?) | =TROUVE("@";F2) | |
SUBSTITUE | Remplace un texte par un autre, partout ou à la ne occurrence | =SUBSTITUE(A2;"-";"/") | |
REMPLACER | Remplace des caractères à une position donnée | =REMPLACER(A2;8;4;"2027") | |
TEXTE.AVANT / TEXTE.APRES | Texte avant ou après un délimiteur (Excel 365) | =TEXTE.APRES(F2;"@") | |
TEXTE | Convertit un nombre en texte avec un format | =TEXTE(CNUM(DROITE(A2;3));"0000") | |
CNUM, EXACT, REPT | Texte vers nombre ; comparaison sensible à la casse ; répétition | =EXACT(B2;MAJUSCULE(B2)) | |
CAR, CODE, EPURAGE | Caractère d’un code (CAR(10) = saut de ligne), code d’un caractère, suppression des caractères non imprimables | =CODE(C2) |
=SUPPRESPACE(SUBSTITUE(B2;CAR(160);" ")).Exercice de synthèse : nettoyer le fichier des stagiaires
Télécharger le fichier d’exercice (Énoncé et Corrigé)
- Nom (G) :
=MAJUSCULE(SUPPRESPACE(B2))→ DUPONT, MARTIN, LEFEBVRE, PETIT, O’NEIL, DURAND. - Prénom (H) :
=NOMPROPRE(SUPPRESPACE(C2))→ Marie-Claire, Jean, Sophie, Lucas, Émilie, Thomas. - Nom complet (I) :
=H2&" "&G2→ Marie-Claire DUPONT. - Formation (J) :
=STXT(A2;4;3)→ EXC ; Année (K) :=CNUM(STXT(A2;8;4))→ 2026. - Téléphone (L) : 03 21 04 56 78 avec STXT et &, dans un
SI(E2="";"";…)pour la ligne sans numéro ; Identifiant (M) :=GAUCHE(F2;TROUVE("@";F2)-1)→ m.dupont. - Fiche (N) :
=JOINDRETEXTE(" · ";VRAI;I2;J2;L2)→ Marie-Claire DUPONT · EXC · 03 21 04 56 78. Ligne 7 : pas de téléphone, pas de séparateur en trop.