Accueil › Fonctions Excel › TEXTE.AVANT et TEXTE.APRES
TEXTE.AVANT et TEXTE.APRES dans Excel
TEXTE.AVANT renvoie le texte qui précède un délimiteur et TEXTE.APRES le texte qui le suit. Elles remplacent les anciennes combinaisons GAUCHE/TROUVE et STXT/TROUVE par une seule fonction facile à lire. Dans l'Excel en anglais, les fonctions s'appellent TEXTBEFORE et TEXTAFTER.
Dans ce guide
Disponibilité : Microsoft 365, Excel 2024 et Excel pour le web. Dans les anciennes versions, utilisez GAUCHE et STXT avec TROUVE.
Syntaxe
=TEXTE.AVANT(texte; délimiteur; [no_instance]; [mode_correspondance]; [fin_correspondance]; [si_introuvable]) =TEXTE.APRES(texte; délimiteur; [no_instance]; [mode_correspondance]; [fin_correspondance]; [si_introuvable])| Argument | Signification |
|---|---|
| texte | Le texte ou la cellule à découper. |
| délimiteur | Le caractère ou le texte sur lequel découper, comme " " ou "@". |
| no_instance | Quelle occurrence : 1 est la première (par défaut), 2 la deuxième, -1 la dernière. |
| mode_correspondance | 0 = distingue les majuscules (par défaut), 1 = ne les distingue pas. |
| fin_correspondance | Traite la fin du texte comme un délimiteur (rarement utile). |
| si_introuvable | Ce qu'il faut renvoyer si le délimiteur est absent. Par défaut : #N/A. |
Exemples
| Objectif | Formule (A2 = « anne.martin@exemple.com ») | Résultat |
|---|---|---|
| Identifiant | =TEXTE.AVANT(A2; "@") | anne.martin |
| Domaine | =TEXTE.APRES(A2; "@") | exemple.com |
| Prénom | =TEXTE.AVANT(A2; ".") | anne |
| Domaine de premier niveau | =TEXTE.APRES(A2; "."; -1) | com |
S'exercer avec TEXTE.AVANT et TEXTE.APRES : 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 la partie de l'adresse e-mail avant le @: =TEXTE.AVANT(A2;"@")
Prénom et nom
Avec « Anne Marie de la Tour » en A2 :
=TEXTE.AVANT(A2; " ")renvoie Anne (avant le premier espace).=TEXTE.APRES(A2; " ")renvoie Marie de la Tour (après le premier espace).=TEXTE.APRES(A2; " "; -1)renvoie Tour (après le dernier espace).
Quand le délimiteur manque
Un nom sans espace renvoie #N/A. Utilisez le dernier argument pour renvoyer autre chose, comme la cellule entière :
=TEXTE.AVANT(A2; " "; ; ; ; A2)Découper en plusieurs cellules : DIVISER.TEXTE
Pour découper un texte en toutes ses parties d'un coup, utilisez DIVISER.TEXTE : =DIVISER.TEXTE("P-104-FR"; "-") propage P, 104 et FR dans trois cellules. Lisez aussi Convertir et Remplissage instantané.
Questions fréquentes
Pourquoi TEXTE.AVANT renvoie-t-elle #N/A ?
Le délimiteur n'est pas dans le texte. Ajoutez une valeur pour si_introuvable, ou vérifiez s'il y a des espaces en trop ou manquants.
Comment obtenir le dernier mot d'une cellule ?
Utilisez =TEXTE.APRES(A2; " "; -1).
Peut-on utiliser plusieurs délimiteurs ?
Oui, passez-en plusieurs à la fois, par exemple une plage avec « - » en D1 et « / » en D2 : =TEXTE.AVANT(A2; D1:D2) découpe sur celui qui apparaît en premier.
TEXTE.AVANT est-elle disponible dans Excel 2021 ?
Non. Elle existe dans Microsoft 365, Excel 2024 et Excel pour le web.