Guides Excel

Fonctions texte dans Excel : GAUCHE, DROITE, STXT, TEXTE.AVANT et JOINDRE.TEXTE

Extrayez préfixes, noms, domaines ou parties d’un code et assemblez des textes avec un séparateur grâce aux fonctions texte d’Excel, exemples à l’appui.

Fonctions texte dans Excel : GAUCHE, DROITE, STXT, TEXTE.AVANT et JOINDRE.TEXTE

Beaucoup de listes arrivent avec des informations mélangées dans une seule cellule : un code produit qui contient un pays et une année, un nom complet, une adresse e-mail dont seul le domaine vous intéresse. Recopier chaque partie à la main est long et source d’erreurs. Les fonctions texte d’Excel font ce travail en quelques secondes et se mettent à jour toutes seules si les données changent.

Vous verrez ici comment extraire des caractères avec GAUCHE, DROITE et STXT, comment couper à un séparateur avec TEXTE.AVANT et TEXTE.APRES, comment assembler des textes avec JOINDRE.TEXTE et comment éviter les erreurs les plus courantes.

GAUCHE et DROITE : extraire des caractères aux extrémités

Ces deux fonctions prennent un nombre fixe de caractères au début ou à la fin d’un texte. Elles conviennent parfaitement aux codes de longueur constante. Imaginez cette colonne de codes en A :

Code (A) Pays Année Numéro
ES-2025-0042 ES 2025 0042
MX-2024-0187 MX 2024 0187
AR-2025-0009 AR 2025 0009

Pour obtenir le pays, prenez les deux premiers caractères :

=GAUCHE(A2;2)

Et pour le numéro d’ordre, les quatre derniers :

=DROITE(A2;4)

Le résultat de DROITE est du texte : « 0042 », et non 42. Si vous devez l’additionner, le trier comme un nombre ou le comparer à une autre colonne numérique, convertissez-le avec CNUM :

=CNUM(DROITE(A2;4))

STXT : extraire du texte au milieu

STXT renvoie une partie d’un texte à partir d’une position donnée. Sa syntaxe est STXT(texte;no_départ;no_car). Dans les codes ci-dessus, l’année commence au 4e caractère et en compte 4 :

=STXT(A2;4;4)

Quand la position change d’une ligne à l’autre

Avec des noms complets, la longueur varie. La solution consiste à repérer l’espace avec CHERCHE, qui renvoie la position d’un caractère. Si A2 contient « Ana Lopez », le prénom correspond à tout ce qui précède l’espace :

=GAUCHE(A2;CHERCHE(" ";A2)-1)

Et le nom de famille, à tout ce qui suit. Le troisième argument est NBCAR(A2), la longueur totale, pour être sûr d’aller jusqu’au bout :

=STXT(A2;CHERCHE(" ";A2)+1;NBCAR(A2))

Si une cellule ne contient pas d’espace, CHERCHE renvoie #VALEUR!. Vous verrez comment le gérer plus bas, dans les erreurs fréquentes.

TEXTE.AVANT et TEXTE.APRES : couper à un séparateur

Dans Microsoft 365, Excel pour le web et Excel 2024, il existe une méthode bien plus simple. TEXTE.AVANT renvoie ce qui se trouve avant un délimiteur et TEXTE.APRES, ce qui se trouve après. Inutile de calculer des positions.

Pour le prénom de « Ana Lopez » :

=TEXTE.AVANT(A2;" ")

Pour le domaine d’une adresse comme « client.a@exemple.com » :

=TEXTE.APRES(A2;"@")

Choisir l’occurrence du séparateur

Le troisième argument indique à quelle occurrence du délimiteur couper. Avec « ES-2025-0042 » en A2, cette formule renvoie « ES-2025 », car elle coupe au deuxième tiret :

=TEXTE.AVANT(A2;"-";2)

Un nombre négatif compte à partir de la fin. Vous obtenez ainsi toujours le dernier bloc, quel que soit le nombre de parties du code :

=TEXTE.APRES(A2;"-";-1)

Si le séparateur est absent, les deux fonctions renvoient #N/A. Vous pouvez les imbriquer dans SIERREUR pour afficher le texte d’origine à la place :

=SIERREUR(TEXTE.AVANT(A2;" ");A2)

JOINDRE.TEXTE : assembler des textes avec un séparateur

L’opération inverse est tout aussi courante : réunir plusieurs colonnes en une seule, par exemple pour composer une adresse ou une liste. L’opérateur & le permet, mais il faut saisir chaque séparateur à la main et les cellules vides laissent des virgules en trop.

JOINDRE.TEXTE, disponible depuis Excel 2019, règle les deux problèmes. Sa syntaxe est JOINDRE.TEXTE(délimiteur;ignorer_vide;texte1;...) :

=JOINDRE.TEXTE(", ";VRAI;A2:C2)

Adresse (A) Quartier (B) Ville (C) Résultat
10 rue Un Centre Ville Nord 10 rue Un, Centre, Ville Nord
25 avenue Trois Ville Sud 25 avenue Trois, Ville Sud

Avec VRAI en deuxième argument, la cellule vide de la deuxième ligne ne laisse pas de double virgule. La fonction permet aussi de résumer une colonne entière dans une seule cellule, par exemple tous les clients d’une commande :

=JOINDRE.TEXTE(", ";VRAI;A2:A20)

Si vous utilisez Excel 2016 ou une version antérieure, vous n’avez pas JOINDRE.TEXTE. Il faut alors assembler avec & et saisir le séparateur entre guillemets :

=A2&", "&C2

Pour éviter la virgule quand une cellule est vide, il faudrait ajouter un SI pour chaque colonne : c’est pourquoi la nouvelle fonction fait gagner autant de temps.

Exemple pratique : préparer une liste importée

Supposons que vous exportiez d’un logiciel une feuille avec une colonne « Client » qui contient le nom et l’e-mail ensemble, du type « Client A – client.a@exemple.com », ainsi que quelques lignes vides intercalées. Pour la préparer :

  1. Supprimez les espaces superflus avec =SUPPRESPACE(A2) dans une colonne auxiliaire.
  2. Séparez le nom avec =TEXTE.AVANT(B2;" - ") et l’e-mail avec =TEXTE.APRES(B2;" - "), B2 étant la cellule nettoyée.
  3. Copiez les nouvelles colonnes et collez-les avec Collage spécial › Valeurs pour qu’elles ne dépendent plus des formules.
  4. Supprimez les colonnes auxiliaires et vérifiez qu’il ne reste pas de lignes sans données.

Les lignes vides perturbent les filtres, les tableaux croisés dynamiques et les plages qu’Excel détecte automatiquement. Si le fichier est volumineux, notre outil gratuit pour supprimer les lignes vides les élimine en une fois, sans avoir à les chercher. Et si la liste contient des enregistrements répétés, vous pouvez ensuite la passer dans l’outil pour supprimer les doublons.

Erreurs fréquentes et comment les éviter

  • Des nombres qui ne s’additionnent pas : GAUCHE, DROITE et STXT renvoient toujours du texte. Utilisez CNUM ou multipliez par 1 si vous avez besoin d’un nombre.
  • Espaces invisibles : un espace au début décale toutes les positions. Appliquez SUPPRESPACE avant d’extraire.
  • #VALEUR! avec CHERCHE : l’erreur apparaît quand le caractère recherché n’est pas dans la cellule. Vérifiez ces lignes ou utilisez SIERREUR.
  • #NOM? avec TEXTE.AVANT ou JOINDRE.TEXTE : votre version d’Excel ne contient pas la fonction. Utilisez la combinaison de GAUCHE, STXT et CHERCHE, ou l’opérateur &.
  • Séparateur d’arguments : Excel en français utilise le point-virgule ; si vous copiez une formule anglaise avec des virgules, remplacez-les.

Conclusion

Cinq fonctions couvrent presque tous les besoins : GAUCHE et DROITE pour les extrémités de longueur fixe, STXT avec CHERCHE pour les positions variables, TEXTE.AVANT et TEXTE.APRES pour couper à un séparateur dans les versions récentes, et JOINDRE.TEXTE pour assembler. Nettoyez les espaces avant de commencer et convertissez en valeurs à la fin.

Questions fréquentes

Quelle est la différence entre CHERCHE et TROUVE ?

Les deux renvoient la position d’un texte, mais TROUVE respecte la casse et CHERCHE non. De plus, CHERCHE accepte les caractères génériques comme * et ?.

Peut-on séparer du texte sans formules ?

Oui. Avec Données › Convertir, vous divisez une colonne selon un séparateur. Vous pouvez aussi utiliser le Remplissage instantané (Ctrl+E) : saisissez le résultat attendu dans les deux premières lignes et Excel complète le reste en suivant le modèle.

Comment mettre une majuscule au début de chaque mot ?

Utilisez =NOMPROPRE(A2). Elle transforme « ana lopez » en « Ana Lopez ». Pour tout mettre en majuscules ou en minuscules, vous disposez de MAJUSCULE et MINUSCULE.

Comment compter les caractères d’une cellule ?

Avec =NBCAR(A2). Elle compte les lettres, les chiffres, les signes et aussi les espaces, ce qui aide à repérer les espaces en trop : si NBCAR(A2) et NBCAR(SUPPRESPACE(A2)) diffèrent, la cellule contient des espaces superflus.

Essayez nos outils gratuits

Comparez, convertissez, fusionnez et nettoyez vos feuilles de calcul depuis votre navigateur, sans rien installer.

Voir tous les outils
Défiler vers le haut