=GAUCHE(A2;3) renvoie les 3 premiers caractères du texte de A2, =DROITE(A2;1) le dernier caractère, et =STXT(A2;5;4) renvoie 4 caractères à partir du 5e. Pour le code NYC-2041-B, cela donne NYC, B et 2041. Dans un Excel anglais, ces fonctions s'appellent LEFT, RIGHT et MID ; le tableau affiche les formules sous cette forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =STXT(A2;5;4).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | City | Number | Size |
| 2 | NYC-2041-B | NYC | 2041 | B |
| 3 | LAX-1187-A | LAX | 1187 | A |
| 4 | SFO-3302-C | SFO | 3302 | C |
| 5 | BOS-0915-B | BOS | 0915 | B |
=GAUCHE(A2;3)Cliquez sur C2 et remplacez le 5 par 4 : le résultat commence maintenant au tiret. Les espaces et la ponctuation comptent comme des caractères, et le premier caractère est à la position 1.
Syntaxe
=LEFT(text, [num_chars])
=RIGHT(text, [num_chars])
=MID(text, start_num, num_chars)
num_chars(no_car) est facultatif dans GAUCHE et DROITE et vaut 1 par défaut.- Si vous demandez plus de caractères qu'il n'y en a, vous obtenez tout le texte, pas une erreur.
=GAUCHE("Ann";10)donneAnn. - Un nombre négatif donne #VALEUR! (#VALUE! en anglais), par exemple
=GAUCHE(A2;NBCAR(A2)-3)sur un texte de moins de 3 caractères.
Quand la longueur varie : GAUCHE, DROITE et STXT avec TROUVE
Les codes ont rarement tous la même longueur. Utilisez TROUVE pour repérer le séparateur et laissez la formule calculer le nombre de caractères :
| A | B | C | |
|---|---|---|---|
| 1 | Code | Before the dash | After the dash |
| 2 | NY-2041 | NY | 2041 |
| 3 | BOSTON-15 | BOSTON | 15 |
| 4 | LA-30087 | LA | 30087 |
=GAUCHE(A2;TROUVE("-";A2)-1)TROUVE("-";A2)renvoie la position du tiret, 3 dansNY-2041.GAUCHE(A2;3-1)prend les 2 caractères qui le précèdent.STXT(A2;3+1;50)commence après le tiret et prend jusqu'à 50 caractères, plus qu'aucun code n'en a, donc il va jusqu'au bout.
Dans Microsoft 365 et Excel 2024, TEXTE.AVANT(A2;"-") et TEXTE.APRES(A2;"-") donnent les mêmes résultats avec une formule plus courte ; voir séparer du texte.
Supprimer les premiers ou les derniers caractères
Pour retirer des caractères, gardez le reste. NBCAR donne la longueur totale, et vous soustrayez ce que vous voulez supprimer :
| A | B | C | |
|---|---|---|---|
| 1 | Text | Without first 3 | Without last 2 |
| 2 | ID-58210 | 58210 | ID-582 |
| 3 | ID-7734 | 7734 | ID-77 |
| 4 | ID-120 | 120 | ID-1 |
=DROITE(A2;NBCAR(A2)-3)| A | B | |
|---|---|---|
| 1 | Card | Last four |
| 2 | 4111 2222 3333 9876 |
À vous : En B2, renvoyez les 4 derniers caractères du numéro de carte de A2.
Extraire un nombre d'un code
GAUCHE, DROITE et STXT renvoient toujours du texte, même quand les caractères sont des chiffres. Des chiffres en texte ressemblent à des nombres mais SOMME les ignore, ce qui explique qu'un total de nombres extraits puisse donner 0 :
| A | B | C | |
|---|---|---|---|
| 1 | Order | MID (text) | VALUE(MID) |
| 2 | SO-0120-X | 0120 | 120 |
| 3 | SO-0345-Y | 0345 | 345 |
| 4 | SO-1000-Z | 1000 | 1000 |
| 5 | Total | 0 | 1465 |
=STXT(A2;4;4)La colonne B affiche 0120 avec son zéro initial parce que c'est encore du texte, et B5 totalise 0. La colonne C convertit chaque morceau avec CNUM (VALUE en anglais) et le total est juste. =--STXT(A2;4;4) et =STXT(A2;4;4)*1 convertissent de la même façon ; voir texte en nombre pour en savoir plus.
| A | B | |
|---|---|---|
| 1 | Item | Quantity |
| 2 | PK-045-BAG |
À vous : La quantité se trouve entre les deux tirets et a toujours 3 chiffres. En B2, extrayez-la sous forme de nombre que vous pouvez additionner.
Erreur fréquente : GAUCHE sur une date
Une date est stockée comme un nombre, donc =GAUCHE(B2;4) sur la date 2026-03-15 ne renvoie pas 2026 : elle renvoie 4609, les 4 premiers chiffres de 46096, le numéro de série qui se cache sous la date.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Event | Date | LEFT(date,4) | Year |
| 2 | Launch | 2026-03-15 | 4609 | 2026 |
| 3 | 2026 |
=GAUCHE(B2;4)Utilisez ANNEE(B2) pour l'année sous forme de nombre, ou TEXTE(B2;"aaaa") pour l'année sous forme de texte (TEXT(B2,"yyyy") en anglais). MOIS, JOUR et TEXTE avec "mmm" ou "jj" couvrent les autres parties.
Questions fréquentes
Comment extraire les N premiers caractères dans Excel ?
Utilisez GAUCHE avec le nombre de caractères : =GAUCHE(A2;3) renvoie les 3 premiers caractères. Sans deuxième argument, =GAUCHE(A2) ne renvoie que le premier caractère.
Comment supprimer les premiers ou les derniers caractères dans Excel ?
Gardez le reste avec NBCAR : =DROITE(A2;NBCAR(A2)-3) supprime les 3 premiers caractères et =GAUCHE(A2;NBCAR(A2)-2) supprime les 2 derniers.
Pourquoi ne puis-je pas additionner les nombres renvoyés par STXT ?
GAUCHE, DROITE et STXT renvoient toujours du texte, et SOMME ignore le texte. Transformez le résultat en nombre avec CNUM ou deux signes moins : =CNUM(STXT(A2;5;4)) ou =--STXT(A2;5;4).
Comment obtenir le texte avant un caractère dans Excel ?
Trouvez la position du caractère et retirez-en un : =GAUCHE(A2;TROUVE("-";A2)-1) renvoie tout ce qui précède le premier tiret. Dans Microsoft 365, =TEXTE.AVANT(A2;"-") fait la même chose.