Les fonctions Recherche H et V
27/10/2006

Pour résoudre ce problème, après la création de la fonction Recherche(), qui était d’ailleurs présente dans le premier Visicalc sur Apple II en 1979, Microsoft a créé deux nouvelles fonctions, RechercheV() et RechercheH() qui – comme leur nom l’indique – pratiquent exclusivement des recherches verticales et horizontales.
Il a été décidé, par la même occasion, de résoudre une autre difficulté pour certains utilisateurs, le fait que la recherche verticale ramenait le contenu de la cellule la plus à droite dans la matrice pour la ligne sélectionnée.
C’est pourquoi la syntaxe de la fonction est : =recherchev(valeur;matrice;n°col) où n°col est le numéro de la colonne dont on doit ramener la valeur, sachant que ce numéro de colonne est relatif à la matrice.
Pour la recherche horizontale, il suffit de remplacer n°col par n°lig…

En F15 : =recherchev(F14;E3:F11;2)
En F16 : =recherchev(F14;E3:G11;3)
Remarque 1 – Une seule matrice
Puisque nous indiquons le numéro de la colonne à ramener, nous aurions pu utiliser le même second argument E3:G11 (ou, mieux encore, le nom de ce bloc) dans les deux formules.
Remarque 2 – Et Gilles, alors ?
Vous avez probablement noté la présence de deux Gilles. Lequel sera retenu par nos deux formules ? Le dernier, évidemment, si vous avez bien compris l’algorithme présenté le 18 mars : on descend jusqu’à trouver le premier prénom plus grand, Hervé, puis l’on remonte d’une ligne, ce qui nous fait immanquablement arriver au dernier Gilles.
Remarque 3 – Une erreur possible
Une grosse erreur aurait été d’utiliser la formule =recherchev(F15;F3:G11;2) en cherchant le salaire à partir du nom. En effet, les noms ne sont pas en ordre alphabétique et vous obtenez alors n’importe un résultat souvent – mais pas toujours – faux, vu la façon dont marche l’algorithme de recherche.
rédigé par Hervé Thiriez
