Résumé
Pour extraire un texte avant un caractère donné (exemple: « -« ), il faut utiliser la fonction TEXTE.AVANT. Dans notre exemple, la formule en C5 est :
= TEXTE.AVANT( B5 ; "-" )
Cette formule permet de récupèrer le texte avant le tiret.
La fonction TEXTE.AVANT est une fonction récente d’Excel. Suivant votre version, vous devrez probablement utiliser une formule combinant la fonction GAUCHE et la fonction TROUVE (voir plus loin dans l’article).
Formule Excel – Extraire le texte avant caractère
= TEXTE.AVANT( texte ; caractère )
Explications
Dans notre exemple, nous avons une liste de références. L’objectif est d’extraire le texte avant le tiret. Dans les versions récentes d’Excel, la meilleure solution est d’utiliser la fonction TEXTE.AVANT. Pour les anciennes versions d’Excel, vous pouvez utiliser une formule combinant la fonction GAUCHE et la fonction TROUVE. Les deux solutions sont présentées ci-après.
Fonction TEXTE.AVANT
La fonction TEXTE.AVANT extrait la partie du texte présente avant un caractère donné. Cette fonction possède plusieurs options. Sa syntaxe est :
= TEXTE.AVANT( texte ; délimiteur ; [instance_num] ; [match_mode] ; [match_end] ; [if_not_found] )
La majorité des arguments sont optionnels. Seuls les deux premiers sont obligatoires :
= TEXTE.AVANT( texte ; délimiteur )
Dans notre exemple, la formule en C5 est :
= TEXTE.AVANT( B5 ; "-" )
Par cette formule, nous indiquons à Excel vouloir extraire de la cellule le texte situé avant le premier tiret.
Anciennes versions d’Excel
La fonction TEXTE.AVANT n’est disponible que dans les versions les plus récentes d’Excel. La formule suivante permet d’arriver au même résultat. Nous utilisons ici la fonction GAUCHE et la fonction TROUVE :
= GAUCHE( B5 ; TROUVE( "-" ; B5 ) -1 )
La fonction GAUCHE permet d’extraire d’une cellule une partie du texte située sur la gauche (les premiers caractères). Pour cela il faut indiquer le texte et le nombre de caractères voulus :
= GAUCHE( texte ; no_car )
Dans notre cas, le nombre de caractère dépend de la position du tiret dans le texte. Pour découvrir sa position nous utilisons la fonction TROUVE. Il faudra lui soustraire 1 pour obtenir la position du caractère précédent le tiret.
= TROUVE( "-" ; B5 ) - 1
--> Résultat: 3
Notre formule sera :
= GAUCHE( B5 ; TROUVE( "-" ; B5 ) -1 )
--> Résultat: "ABE"
Formules en lien
- Extraire le texte après un caractère
- Supprimer le(s) dernier(s) caractère(s) d’une cellule
- Supprimer le(s) premier(s) caractère(s) d’une cellule
- Supprimer une partie du texte d’une cellule
- Compter le nombre de cellules égales à un texte
- Compter le nombre de cellules contenant du texte
- Compter le nombre de cellules contenant une partie du texte (mot, caractère)
- Compter le nombre de cellules contenant un texte avec ou sans accent
- Si cellule contient un texte (sensible à la casse)
- Si cellule contient un texte
- Si cellule égale à (sensible à la casse)
- Convertir date en texte
- Convertir nombre en texte
- Séparer nom et prénom