Les fonctions TEXTAFTER and TEXTBEFORE dans Excel
TEXTE.APRES (Anglais: TEXTAFTER) renvoie tout ce qui se trouve après un séparateur ; TEXTE.AVANT (Anglais: TEXTBEFORE) tout ce qui le précède. Le domaine d'une adresse e-mail, un prénom, la dernière partie d'un code : une seule formule courte, sans TROUVE (Anglais: FIND) ni comptage.
Les deux fonctions sont disponibles dans Excel 2024, Microsoft 365 et Excel pour le web, mais pas dans Excel 2021 ni dans les versions antérieures. Dans ces versions, utilisez plutôt GAUCHE (Anglais: LEFT), STXT (Anglais: MID) et TROUVE (Anglais: FIND).
Syntaxe
=TEXTAFTER(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found])
| Argument | Ce que cela signifie |
|---|---|
| text | Le texte ou la cellule à découper. |
| delimiter | Le caractère ou le texte à utiliser comme séparateur, par exemple « @ ». |
| instance_numfacultatif | L'occurrence à utiliser. Par défaut 1 ; -1 désigne la dernière. |
| match_modefacultatif | 0 = respect de la casse (par défaut), 1 = sans tenir compte de la casse. |
| match_endfacultatif | 1 considère la fin du texte comme un séparateur. Rarement nécessaire. |
| if_not_foundfacultatif | Ce qu'il faut renvoyer si le séparateur est absent, au lieu de #N/A. |
Exemples
1. Tout ce qui suit le @
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Référence | Domaine | ||
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | shopmail.com |
À comparer avec =STXT(B2;TROUVE("@";B2)+1;100) : même résultat, bien plus lisible.
2. Tout ce qui précède : TEXTBEFORE
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Référence | Nom d'utilisateur | ||
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | omar.haddad |
La partie de l'adresse qui précède le @.
3. Après le deuxième tiret
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Référence | Couleur | ||
| 2 | SH-4417-BLU | omar.haddad@shopmail.com | BLU |
instance_num 2 ignore le premier tiret. =TEXTE.APRES(A2;"-";-1) (après le dernier tiret) donne le même résultat ici.
Erreurs courantes
Erreur #NAME?. La version d'Excel ne dispose pas de ces fonctions (Excel 2021 ou une version antérieure).
Correction : Utilisez GAUCHE (Anglais: LEFT), STXT (Anglais: MID) et TROUVE (Anglais: FIND) pour les fichiers qui doivent pouvoir s'ouvrir dans les anciennes versions.
#N/A lorsque le séparateur est absent, par exemple pour un nom sans espace.
Correction : Utilisez l'argument if_not_found :
=TEXTE.AVANT(A2;" ";1;0;0;A2)renvoie le nom entier lorsqu'il n'y a pas d'espace.
Questions fréquemment posées
Comment découper un texte en plusieurs colonnes d'un coup ?
FRACTIONNER.TEXTE (Anglais: TEXTSPLIT) (également disponible dans Excel 2024 et Microsoft 365) découpe à chaque séparateur et répartit les parties dans les cellules voisines.