Menu

GAUCHE, DROITE et STXT Excel : extraire une partie du texte

=GAUCHE(A2;3) renvoie les 3 premiers caractères de A2, =DROITE(A2;2) les 2 derniers, et =STXT(A2;5;4) 4 caractères à partir du 5e. Combinez-les avec TROUVE et NBCAR quand la longueur varie.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=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).

Décomposer un code
B2
ABCD
1CodeCityNumberSize
2NYC-2041-BNYC2041B
3LAX-1187-ALAX1187A
4SFO-3302-CSFO3302C
5BOS-0915-BBOS0915B
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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) donne Ann.
  • 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 :

Le texte avant et après le tiret
B2
ABC
1CodeBefore the dashAfter the dash
2NY-2041NY2041
3BOSTON-15BOSTON15
4LA-30087LA30087
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =GAUCHE(A2;TROUVE("-";A2)-1)
  • TROUVE("-";A2) renvoie la position du tiret, 3 dans NY-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 :

Supprimer des caractères au début ou à la fin
B2
ABC
1TextWithout first 3Without last 2
2ID-5821058210ID-582
3ID-77347734ID-77
4ID-120120ID-1
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =DROITE(A2;NBCAR(A2)-3)
Les quatre derniers chiffres
B2
AB
1CardLast four
24111 2222 3333 9876
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À 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 :

Chiffres en texte et vrais nombres
B2
ABC
1OrderMID (text)VALUE(MID)
2SO-0120-X0120120
3SO-0345-Y0345345
4SO-1000-Z10001000
5Total01465
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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.

Extraire la quantité
B2
AB
1ItemQuantity
2PK-045-BAG
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À 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.

GAUCHE lit le nombre sous la date
C2
ABCD
1EventDateLEFT(date,4)Year
2Launch2026-03-1546092026
32026
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =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.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER