Syntaxe
La fonction TEXTE.AVANT s’écrit de la façon suivante :
= STXT( texte ; délimiteur ; [instance_num] ; [match_mode] ; [match_end] ; [if_not_found] )
Cette fonction possède 6 arguments :
texte
– Texte dont on souhaite récupérer une partie.délimiteur
– Les caractères qui délimitent le texte.[instance_num]
– Argument optionnel. Le numéro de l’occurence du délimiteur souhaitée dans le texte. Par défaut, ce sera 1.[match_mode]
– Argument optionnel. Sensibilité à la casse. 0=sensible à la casse. 1= non sensible à la casse. Par défaut, ce sera 0.[match_end]
– Argument optionnel. Traiter la fin du texte comme un délimiteur. 0=non. 1=oui. Par défaut, ce sera 0.[if_not_found]
– Argument optionnel. Valeur à renvoyer si le délimiteur n’est pas trouvé. Par défaut ce sera #N/A.
La fonction TEXTE.AVANT permet d’extraire d’un texte les éléments présents avant un délimiteur défini. Si le délimiteur est présent plusieurs fois dans le texte, il est possible de choisir l’occurence. Il est même possible de préciser le numéro de l’occurence en partant de la fin (ex: dernière occurence, avant dernière occurence).
- La fonction TEXTE.AVANT extrait une partie d’un texte avant un délimiteur donné.
- L’argument [instance_num] permet de préciser le numéro de l’occurrence du délimiteur (ex: 3e espace). Avec un nombre négatif, on indique la énième occurence en partant de la fin (ex: -2 = avant dernière occurence).
- La fonction TEXTE.AVANT est par défaut sensible à la casse. Elle tiendra compte des majuscules et minuscules. Il est possible de la rendre insensible à mettant 0 en tant qu’argument [match_mode].
- Par défaut, la fonction TEXTE.AVANT ne traitera pas la fin de votre texte comme un délimiteur. Il est possible d’inverser ce comportement en précisant 1 à l’argument [match_end].
- Si la fonction TEXTE.AVANT ne trouve pas le délimiteur, elle renverra l’erreur #N/A. Nous pouvons indiquer une autre valeur à la saisissant en tant qu’argument [if_not_found].
Quelques utilisations de la fonction TEXTE.AVANT
Exemple simple
Pour extraire le texte présent avant un délimiteur composé d’un ou plusieurs caractères, il faut indiquer en tant que premier argument le texte dont on veut extraire une partie (ou la cellule qui le contient) et le délimiteur en tant que second argument. Le délimiteur peut être composé d’un seul caractère (ex: « , ») ou de plusieurs. Dans l’exemple ci-dessous, nous voulons extraire la partie du texte présente avant le délimiteur espace-tiret-espace :
= TEXTE.AVANT( "AB - 55412"; " - " )
--> Résultat: "AB"
Spécifier l’occurence
Par défaut, la fonction TEXTE.AVANT extrait la partie du texte présente avant la première apparition du délimiteur. Si le délimiteur est présent plusieurs fois dans le texte, on peut préciser le numéro de l’occurence. Dans l’exemple suivant, nous extrayons la partie du texte présente avant le troisième tiret :
= TEXTE.AVANT( "Cleex-est-un-super-site" ; "-" ; 3 )
--> Résultat: "Cleex-est-un"
Spécifier l’occurence en partant de la fin
Il est possible d’indiquer le numéro du délimiteur en partant de la fin : -1 sera la dernière occurence, -2 l’avant dernière et ainsi de suite. Dans l’exemple suivant, nous extrayons la partie avant le dernier délimiteur :
= TEXTE.AVANT( "Cleex-est-un-super-site" ; "-" ; -1 )
--> Résultat: "Cleex-est-un-super"
Sensibilité à la casse
Par défaut, la fonction TEXTE.AVANT est sensible à la casse. C’est-à-dire qu’elle vérifiera la présence des majuscules et miniscules. Pour la rendre insensible à la casse, il faudra mettre 1 en tant que 4e argument.
= TEXTE.AVANT( "Cleex-est-un-super-site" ; "EST" )
--> Résultat: #N/A
= TEXTE.AVANT( "Cleex-est-un-super-site" ; "EST" ; ; 1 )
--> Résultat: "Cleex-"
Traiter la fin du texte comme un délimiteur
Dans certains cas, vous souhaiterez qu’en l’absence du délimiteur ou de son occurence, le texte complet vous soit renvoyé. Pour ça, il faudra indiquer 1 en tant que 5e argument. Dans l’exemple ci-dessous on veut extraire la 5e occurence du délimiteur. Cependant, celle-ci n’existe pas :
= TEXTE.AVANT( "Cleex-est-un-super-site" ; "-" ; 5 )
--> Résultat: #N/A
En précisant que la fin du texte doit être considérée comme un délimiteur, la 5e occurence sera la fin du texte :
= TEXTE.AVANT( "Cleex-est-un-super-site" ; "-" ; 5 ; ; 1 )
--> Résultat: "Cleex-est-un-super-site"
Si délimiteur non trouvé
Si le délimiteur (ou son occurence) n’est pas trouvé dans le texte, la valeur renvoyée par défaut sera #N/A. Il est possible de préciser la valeur à renvoyer. Pour cela, il suffit de l’indiquer en tant que 6e argument :
= TEXTE.AVANT( "Cleex-est-un-super-site" ; " " )
--> Résultat: #N/A
= TEXTE.AVANT( "Cleex-est-un-super-site" ; " " ; ; ; ; "Valeur non trouvée" )
--> Résultat: "Valeur non trouvée"
Indiquer plusieurs délimiteurs
Il est possible d’indiquer plusieurs délimiteurs au cas où vous auriez différents séparateurs. Pour cela, nous allons utiliser une syntaxe particulière « { } ». Dans l’exemple ci-dessous, nous voulons que les tirets, les espaces et les virgules soient considérés comme des délimiteurs :
= TEXTE.AVANT( "Cleex-est un,super site" ; { " " ; "," ; "-" } )
--> Résultat: "Cleex"
Caractéristiques de la fonction TEXTE.AVANT
- La fonction TEXTE.AVANT est sensible à la casse par défaut.
- La fonction TEXTE.AVANT permet de préciser le numéro de l’occurence du délimiteur en partant du début ou de la fin.
- La fonction TEXTE.AVANT renverra #N/A si le délimiteur ou son occurence n’est pas trouvée.
Formules en lien
- Séparer nom et prénom
- Extraire le texte avant un caractère
- Remplacer un caractère par un autre (yc spéciaux)
- 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 égales à un texte
- Si cellule contient un texte
- Si cellule contient un texte (sensible à la casse)
- Si cellule contient texte alors 1
- Si cellule ne contient pas un mot ou une partie du texte
- Compter le nombre de cellules commençant par
- Compter le nombre de cellules se terminant par
Fonctions en lien
- TEXTE.APRES
- CONCATENER
- CONCAT
- JOINDRE.TEXTE
- TROUVE
- CTXT
- GAUCHE
- DROITE
- NBCAR
- MINUSCULE
- MAJUSCULE
- NOMPROPRE
- CHERCHE
- SUBSTITUE
- REMPLACER
- CNUM
- TEXTE
- EXACT
- SUPPRESPACE