Résumé
Pour extraire un texte après un caractère donné (exemple: « -« ), il faut utiliser la fonction TEXTE.APRES. Dans notre exemple, la formule en C5 est :
= TEXTE.APRES( B5 ; "-" )
Cette formule permet de récupèrer le texte après le tiret.
La fonction TEXTE.APRES est une fonction récente d’Excel. Suivant votre version, vous devrez probablement utiliser une formule combinant la fonction STXT, la fonction NBCAR et la fonction TROUVE (voir plus loin dans l’article).
Formule Excel – Extraire le texte après caractère
= TEXTE.APRES( texte ; caractère )
Explications
Dans notre exemple, nous avons une liste de références. L’objectif est d’extraire le texte après le tiret. Dans les versions récentes d’Excel, la meilleure solution est d’utiliser la fonction TEXTE.APRES. Pour les anciennes versions d’Excel, vous pouvez utiliser une formule combinant la fonction STXT, la fonction NBCAR et la fonction TROUVE. Les deux solutions sont présentées ci-après.
Fonction TEXTE.APRES
La fonction TEXTE.APRES extrait la partie du texte présente après un caractère donné. Cette fonction possède plusieurs options. Sa syntaxe est :
= TEXTE.APRES( 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.APRES( texte ; délimiteur )
Dans notre exemple, la formule en C5 est :
= TEXTE.APRES( B5 ; "-" )
Par cette formule, nous indiquons à Excel vouloir extraire de la cellule le texte situé après le premier tiret.
Anciennes versions d’Excel
La fonction TEXTE.APRES 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 STXT, la fonction NBCAR et la fonction TROUVE. :
= STXT( B5 ; TROUVE( "-" ; B5 ) + 1 ; NBCAR( B5 ) )
La fonction STXT permet d’extraire d’une cellule une partie du texte. Pour cela il faut indiquer la position du premier caractère voulu ainsi que le nombre de caractères désirés. Sa syntaxe est :
= STXT( texte ; no_départ ; no_car )
Dans notre cas, le numéro de départ sera le premier caractère qui suit le tiret. Pour trouver le position du tiret, nous allons utiliser la fonction TROUVE et lui ajouter 1pour obtenir la position du caractère suivant. La fonction TROUVE permet de récupérer la position d’un caractère dans un texte donné.
= TROUVE( "-" ; B5 ) + 1
--> Résultat: 5
A présent, il nous reste à déterminer le nombre de caractères à extraire. Nous allons utiliser la fonction NBCAR qui permet de calculer le nombre de caractères présents dans la cellule. Dans notre exemple, cette fonction renverra 8. Pourtant, après le tiret, il n’y que 4 caractères à extraire. En fait, la fonction STXT accepte des valeurs supérieures au nombre de caractères restants. La fonction STXT va extraire tant qu’il y a des caractères à extraire. Notre formule sera :
= STXT( B5 ; 4 + 1 ; 8 )
--> Résultat: 1258
Formules en lien
- Extraire le texte avant 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
- 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