Les fonctions CHERCHE() et TROUVE() retournent la position de départ d'une chaîne de caractères au sein d'une autre.
Syntaxe:
CHERCHE(texte cherché; texte; n° de départ)
- Texte cherché est la chaîne de caractères que l'on veut trouver.
- texte est le texte ou la référence à une cellule contenant le texte cherché le nombre de caractères à extraire.
- n° de départ indique la position du caractère à partir duquel la recherche doit débuter (facultatif).
TROUVE(texte cherché; texte; n° de départ)
- Texte cherché est la chaîne de caractères que l'on veut trouver.
- texte est le texte ou la référence à une cellule contenant le texte cherché le nombre de caractères à extraire.
- n° de départ indique la position du caractère à partir duquel la recherche doit débuter (facultatif).
CHERCHE() n'est pas sensible à la casse alors que TROUVE() y est sensible.
Contrairement à CHERCHE(), TROUVE() ne permet pas d'utiliser de caractères génériques ( ? ou * ).
Exemples


La cellule A1 contient le texte
A demain; les formules
=CHERCHE("a";A1) tout comme
=CHERCHE ("A";A1), renverront
1, puisque le premier caractère est un A, peu importe la casse pour la fonction CHERCHE().
La formule =TROUVE("A";A1) renverra également 1, tandis que =TROUVE("a";A1) renverra la position du premier a minuscule, soit 6.
Les fonctions CHERCHE() et TROUVE() peuvent être associées à d'autres fonctions textes afin d'extraire des chaînes de caractères dont la position ou la longueur sont variables. Dans le tableau ci dessous nous avons extrait le prénom en colonne B:
CHERCHE(" ";A1) indique la position du caractère espace (noté par un espace entre deux guillemets); en ligne 2 la position est 5. Afin de ne pas compter la position de l'espace lui même nous retranchons 1 reste 4, la fonction GAUCHE() va donc extraire le 4 premiers caractères à gauche de la cellule A1.
La fonction CHERCHE() permet d'utiliser des caractères génériques comme * ou ? .
? représente un caractère quelconque, et * représente une suite de caractères quelconques.
Par exemple dans le tableau ci-dessous nous cherchons la position de la première suite de 3 caractères, peu importe le 1er et le dernier mais le second doit être égal à 9:
En ligne 2, la formule renvoie #VALEUR! car le 9 n'est suivi d'aucun caractère, la suite de 3 caractères recherchée n'existe donc pas.
En ligne 1 la formule indique que la suite de caractère démarre en position 2, le 1er point d'interrogation correspondant au 1.

Pour chercher les caractères génériques eux mêmes, on peut utiliser soit la fonction
TROUVE(), soit la fonction
CHERCHE() en faisant précéder le caractère générique par un tilde ~ comme dans l'exemple ci-dessous: (le caractère ~ s'obtient en appuyant sur les touches
Alt Gr puis la touche
2 é ~ puis un espace)
Pour chercher le caractère tilde lui même, on peut soit utiliser la fonction TROUVE(), soit la fonction CHERCHE() en faisant précéder le ~ d'un autre ~ :

Pour voir d'autres exemples et vous entrainer à utiliser les fonctions CHERCHE() et TROUVE() autour de cas concrets, le fichier Excel accompagnant cet article vous présente quelques exercices corrigés.
Extrait du fichier d'exercices: