Accueil › Fonctions Excel › GAUCHE, DROITE et STXT
GAUCHE, DROITE et STXT dans Excel : extraire du texte avec des exemples
GAUCHE, DROITE et STXT extraient une partie d'un texte : un nombre de caractères au début, à la fin ou quelque part au milieu. Combinées avec TROUVE, elles séparent des noms, des codes et des adresses dans des colonnes distinctes. Dans l'Excel en anglais, les fonctions s'appellent LEFT, RIGHT et MID.
Dans ce guide
Syntaxe
| Fonction | Syntaxe | Renvoie |
|---|---|---|
| GAUCHE | =GAUCHE(texte; [no_car]) | Des caractères depuis le début. Sans no_car : 1 caractère. |
| DROITE | =DROITE(texte; [no_car]) | Des caractères depuis la fin. Sans no_car : 1 caractère. |
| STXT | =STXT(texte; no_départ; no_car) | no_car caractères, à partir de la position no_départ. |
Exemple simple : découper un code produit
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Catégorie | Numéro | Pays |
| 2 | P-104-FR | P | 104 | FR |
| 3 | K-220-BE | K | 220 | BE |
=GAUCHE(A2; 1)renvoie P : le premier caractère.=STXT(A2; 3; 3)renvoie 104 : trois caractères à partir de la position 3.=DROITE(A2; 2)renvoie FR : les deux derniers caractères.
Cela fonctionne bien quand tous les codes ont la même structure. Quand les parties ont des longueurs différentes, il vous faut TROUVE.
S'exercer avec GAUCHE, DROITE et STXT : essayez vous-même
Lire est une chose, taper la formule en est une autre. Construisez la formule ci-dessous pas à pas : les indications vous disent quoi taper, et vous pouvez cliquer sur les cellules ou faire glisser dessus pour les ajouter, comme dans Excel.
Exercice: Extrayez en B2 le code pays (les deux premiers caractères) du numéro de commande: =GAUCHE(A2;2)
Séparer prénom et nom avec TROUVE
TROUVE renvoie la position d'un caractère. Dans « Anne Martin », l'espace est en position 5.
- Prénom :
=GAUCHE(A2; TROUVE(" "; A2) - 1)prend tout ce qui se trouve avant l'espace : Anne. - Nom :
=STXT(A2; TROUVE(" "; A2) + 1; 100)prend tout ce qui se trouve après l'espace : Martin. Le 100 signifie simplement « le reste » ; STXT s'arrête à la fin du texte.
Le même modèle fonctionne avec n'importe quel séparateur, comme la partie d'une adresse e-mail avant le @ : =GAUCHE(A2; TROUVE("@"; A2) - 1)
Plus simple dans le nouvel Excel : TEXTE.AVANT et TEXTE.APRES
Dans Microsoft 365 et Excel 2024, vous pouvez vous passer des calculs avec TROUVE :
=TEXTE.AVANT(A2; " ")renvoie Anne=TEXTE.APRES(A2; " ")renvoie Martin=DIVISER.TEXTE(A2; "-")découpe « P-104-FR » en trois cellules d'un coup
Sans formules, Données › Convertir ou le Remplissage instantané (Ctrl+E) découpent aussi une colonne en une seule fois. Lisez TEXTE.AVANT et TEXTE.APRES.
Les nombres extraits sont du texte
GAUCHE, DROITE et STXT renvoient toujours du texte. Le « 104 » de l'exemple ressemble à un nombre, mais il n'est pas additionné par SOMME et ne correspond pas au nombre 104 dans une recherche. Convertissez-le avec CNUM ou avec un double signe moins :
=CNUM(STXT(A2; 3; 3))ou =--STXT(A2; 3; 3)
Erreurs fréquentes
- #VALEUR! avec TROUVE : le caractère cherché n'est pas dans le texte, par exemple un nom sans espace. Entourez la formule de SIERREUR :
=SIERREUR(GAUCHE(A2; TROUVE(" "; A2) - 1); A2) - Un espace en trop dans le résultat : la source contient des doubles espaces. Nettoyez-la d'abord avec SUPPRESPACE.
- Les résultats ne s'additionnent pas : ce sont du texte. Utilisez CNUM.
Questions fréquentes
Comment obtenir le dernier mot d'une cellule ?
Dans Microsoft 365 ou Excel 2024, utilisez =TEXTE.APRES(A2; " "; -1). Le -1 signifie « après le dernier espace ».
Comment supprimer les premiers caractères ?
Utilisez DROITE avec la longueur moins le nombre de caractères à supprimer : =DROITE(A2; NBCAR(A2) - 3) supprime les 3 premiers caractères.
Quelle est la différence entre TROUVE et CHERCHE ?
Les deux renvoient la position d'un texte. TROUVE distingue les majuscules des minuscules et n'accepte pas les caractères génériques ; CHERCHE ne distingue pas les majuscules et accepte les caractères génériques.
GAUCHE peut-elle renvoyer un nombre ?
Non, elle renvoie toujours du texte. Entourez-la de CNUM pour convertir le résultat en nombre.