Excel: fonction TROUVE & fonction CHERCHE (tutoriel)

Si vous avez besoin de trouver dans Excel si un texte en contient un autre (et à quel endroit dans ce texte), vous avez à votre disposition deux fonctions semblables (qui différent dans certains aspects): fonction TROUVE et fonction CHERCHE. Les équivalents anglais de ces fonctions sont FIND et SEARCH.

Ce tutoriel vous présente, contrairement à l'habitude, les deux fonctions en même temps. Vu qu'il s'agit des fonctions "jumelles", cela me semblait approprié. Vous verrez ainsi leurs différences, leurs similitudes et vous apprendrez laquelle de ces deux fonctions utiliser selon la situation.

Attention: il ne s'agit pas de vérifier si deux textes sont identiques (bien que ce soit faisable avec ces deux formules) mais de voir si un texte (plus long) en contient un autre (plus court) ou pas. Vous pouvez ainsi, par exemple, trouver dans la liste des clients les Sociétés Anonymes – celles dont le nom contient " SA"…

Il s'agit donc de fonctions particulièrement pratiques et utiles pour chacun qui travaille avec des données dans Excel.

Fonction Excel TROUVE

La fonction TROUVE dans Excel est utilisée pour renvoyer le numéro de la position d'un caractère spécifique ou d'une sous-chaîne dans une chaîne de texte.

La syntaxe de la fonction TROUVE

=TROUVE( texte_a_trouver; texte_principal; [debut_de_recherche] )
Les 2 premiers arguments sont obligatoires, le dernier est facultatif.

  • texte_a_trouver : le caractère ou la sous-chaîne que vous voulez trouver.
  • texte_principal : la chaîne de texte dans laquelle on cherche. Généralement, il s'agit de l'adresse de la cellule qui contient le texte, mais vous pouvez également indiquer la chaîne directement dans la formule.
  • debut_de_recherche : un argument facultatif qui spécifie le caractère (= le numéro de sa position dans le  texte_principal) à partir duquel la recherche doit commencer. S'il est omis, la recherche commence à partir du premier caractère de la chaîne texte_principal.
Aperçu des arguments dans Excel (cliquez pour afficher)
Fonction Excel TROUVE: argument "TEXTE_CHERCHE"
Fonction Excel TROUVE: argument “TEXTE_CHERCHE”
Fonction Excel TROUVE: argument "TEXTE"
Fonction Excel TROUVE: argument “TEXTE”
Fonction Excel TROUVE: argument "NO_DEPART"
Fonction Excel TROUVE: argument “NO_DEPART”

Si la fonction TROUVE ne trouve pas le texte recherché, l'erreur #VALEUR! est renvoyée comme résultat.

Par exemple, la formule =TROUVE("FR"; "N-CLIENT-254-56-FR") renvoie comme résultat "17" car "FR" commence à la 17ème lettre du mot "N-CLIENT-254-56-FR".

La formule =TROUVE("a"; "chien") renvoie une erreur car il n'y a pas de caractère "a" dans le texte "chien".

Fonction Excel CHERCHE

La fonction CHERCHE dans Excel est très similaire à la fonction TROUVE car elle renvoie également l'emplacement d'une sous-chaîne dans une chaîne de texte. La syntaxe et les arguments sont semblables à ceux de la fonction TROUVE

Syntaxe de la fonction CHERCHE

=CHERCHE(texte_a_trouver; texte_principal; [debut_de_recherche])
Les arguments sont les mêmes que pour la fonction TROUVE.

Tout comme dans la fonction TROUVE, si la fonction CHERCHE ne trouve pas le texte recherché, l'erreur #VALEUR! est renvoyée comme résultat.

Caractères génériques – les métacaractères (wildcards)

Contrairement à TROUVE, la fonction CHERCHE prend en charge les caractères génériques (aussi connus comme "métacaractères") pour remplacer une partie du texte.

  • pour remplacer un caractère, utilisez ? . Si vous voulez remplacer 3 caractères, utilisez ??? et ainsi de suite…
  • pour remplacer une chaîne de caractères à longueur indéterminée, vous pouvez utiliser *
  • si vous voulez trouver le caractère "?" ou "*" (sans qu'ils soient considérés comme caractères génériques), vous devez les précéder par le tilde ˜ ce qui donnera donc ˜? ou ˜*
Aperçu des arguments dans Excel (cliquez pour afficher)
Fonction Excel CHERCHE: argument "TEXTE_CHERCHE"
Fonction Excel CHERCHE: argument “TEXTE_CHERCHE”
Fonction Excel CHERCHE: argument "TEXTE"
Fonction Excel CHERCHE: argument “TEXTE”
Fonction Excel CHERCHE: argument "NO_DEPART"
Fonction Excel CHERCHE: argument “NO_DEPART”
Exemple: la formule =CHERCHE("CLIENT*FR"; "N-CLIENT-254-56-FR") renvoie comme résultat "3" car le texte "N-CLIENT-254-56-FR" contient une chaîne qui commence par "CLIENT" et se termine par "FR". Dans ce cas précis, cette chaîne correspond à "CLIENT-254-56-" et commence à la 3ème place.

Différences entre les formules Excel TROUVE et CHERCHE

Comme vous avez pu le constater, ces deux fonctions sont assez semblables. Alors pourquoi elles sont deux? En fait, elles différent en deux points importants du point de vue pratique:

  • La fonction TROUVE est sensible aux majuscules et minuscules tandis que la fonction CHERCHE ne l'est pas. Ceci est un des paramètres à prendre en compte lors du choix entre ces deux formules – le choix dépend de ce que vous avez besoin de trouver.
  • La fonction CHERCHE vous permet d'utiliser les "caractères génériques" ("wildcard characters" en anglais ou encore les "jokers") pour chercher des morceaux de texte dont une partie est variable. La fonction Excel TROUVE ne permet pas d'utiliser cette fonctionnalité. Elle ne peut être utilisée que pour chercher des textes précis.

Exemples d'utilisation des fonctions Excel TROUVE et CHERCHE

Et voici quelques exemples de l'utilisation de ces deux fonctions.

  1. Différence entre la recherche sensible ou pas aux majuscules
    Excel: fonction TROUVE et CHERCHE exemple 1
  2. Exemple de valeur non trouvée et recherche d'un espace
    Excel: fonction TROUVE exemple
  3. Exemple utilisation du caractère générique "*" (uniquement la fonction CHERCHE)
    Excel: fonction CHERCHE exemple
  4. Exemple d'utilisation du caractère générique "?" (uniquement la fonction CHERCHE)

    Excel: fonction CHERCHE exemple avec ?

Utilisation de "numéro de départ" dans les fonctions CHERCHE et TROUVE

Comme je l'ai mentionné dans la partie sur la syntaxe de ces deux fonctions, il est possible de ne pas commencer la recherche au début du texte. Vous pouvez choisir à quel endroit la recherche va commencer.

Cela est pratique notamment si vous avez les caractères qui se répètent et dont vous souhaitez ignorer la (les) première(s) occurrence(s).

Je vais continuer l'explication avec la fonction TROUVE mais sachez que avec la CHERCHE, cela fonctionne exactement de la même manière.

Commencer la recherche à un endroit précis

Pour simplement commencer la recherche à un endroit précis, il suffit d'utiliser le troisième argument de la fonction (qui est, comme nous l'avons vu, optionnel).

Ceci est pratique si le caractère (ou la chaîne) recherché se répète mais nous savons exactement où commencer – voir l'exemple qui suit:

Nous voulons trouver l'emplacement du second tiret ("-") dans la chaîne. On sait que le premier tiret se trouve toujours à la 3ème position. Nous commencerons donc la recherche à partir de la 4ème position (le dernier argument de la fonction = 4)

Fonction TROUVE avec plusieurs occurrences du texte recherché

 

Comment commencer la recherche à la deuxième occurrence du texte recherché

Maintenant un cas un peu plus difficile – on veut toujours trouver la position du second tiret mais cette fois, l'emplacement du premier tiret varie. Nous ne pouvons donc pas commencer la recherche à un endroit fixe.

Il faudra d'abord trouver l'emplacement du premier tiret pour pouvoir l'éviter. Et pour cela, nous utiliserons la fonction… TROUVE ! 😉

En fait, nous allons créer une fonction TROUVE imbriquée. Voici pas à pas comment procéder:

  1. d'abord on trouve l'emplacement du premier tiret: =TROUVE("-";A2) tout simplement
  2. maintenant, nous avons utiliser le résultat de la première recherche comme argument de la recherche suivante
  3. attention, le résultat de la première recherche doit être augmenté de 1 pour ne pas commencer la recherche à l'endroit où la première occurrence se trouve! Car alors le résultat serait toujours 1. =TROUVE("-";A2)+1
  4. et voici donc la formule finale: =TROUVE("-";A2;TROUVE("-";A2)+1)

Ce qui nous donnera ce résultat:

Fonctions TROUVE imbriquées

Et si vous souhaitez trouver la 3ème, 4ème ou Xème occurrence, il vous faudra répéter ce procédé autant de fois

CHERCHE et TROUVE en pratique

Utilisées seules, ces fonctions n'ont pas beaucoup d'intérêt car elles renvoient le numéro de la position de la chaîne trouvée. Ce qui est par contre intéressant, c'est de les combiner avec d'autres fonctions Excel. Voici deux cas des plus pratiques:

  1. En combinaison avec les fonctions Excel SI ou ESTERREUR, il est possible de déterminer si une chaîne en contient une autre et selon la réponse, renvoyer le résultat adéquat.
    Exemple: =SI(ESTERREUR(TROUVE("ID";"21-IA-26"))=VRAI;"ne contient pas ID";"contient ID")
  2. Découpage d'un texte. En combinaison avec les fonctions telles que DROITE, GAUCHE, STXT et NBCAR, vous pouvez extraire d'un texte la partie qui vous intéresse. Ce qui peut être extrêmement pratique dans le travail avec des données (pour ceux qui connaissent, cela fonctionne +/- comme le "Regex").
    Exemple: =GAUCHE("Mon texte";TROUVE(" ";"Mon texte")-1)

Pour aller plus loin en Excel…

Maintenant que vous maîtrisez ces deux fonctions, voici quelques autres articles qui pourraient vous intéresser et vous être utiles.

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

3 commentaires sur “Excel: fonction TROUVE & fonction CHERCHE (tutoriel)”