Aller au contenu principal
Bureautique et données 7 min de lecture

RECHERCHEV : le mode d’emploi, et les six causes du #N/A

Les quatre arguments expliqués un par un, le piège du quatrième, et la liste de contrôle qui règle cinq pannes sur six en trente secondes.

RECHERCHEV va chercher une information dans un autre tableau à partir d'un identifiant commun. Un numéro de client d'un côté, la liste des clients de l'autre, et la formule ramène le nom, la ville ou le montant sans que vous ayez à le recopier.

C'est la formule la plus utilisée d'Excel, et de loin la plus mal comprise — non pas parce qu'elle est compliquée, mais parce qu'elle échoue en silence quand une seule de ses conditions n'est pas remplie.

Les quatre arguments, dans l'ordre

=RECHERCHEV(valeur_cherchée ; table_matrice ; no_index_col ; valeur_proche)
  • valeur_cherchée — ce que vous connaissez déjà. Le numéro de client, la référence produit, le code postal. Une seule cellule.
  • table_matrice — le tableau où chercher. La colonne contenant la valeur cherchée doit être la première de cette plage : c'est la règle qui explique la moitié des échecs.
  • no_index_col — le numéro de la colonne à ramener, compté depuis le début de la plage, pas depuis le début de la feuille. Si votre plage commence en D, alors D vaut 1, E vaut 2, et ainsi de suite.
  • valeur_procheFAUX pour une correspondance exacte, VRAI pour une correspondance approchée. Écrivez toujours FAUX. La suite explique pourquoi.

Un exemple concret. Vos commandes sont en colonne A, votre catalogue produits occupe les colonnes F à H, et vous voulez le prix qui se trouve en H :

=RECHERCHEV(A2 ; $F$2:$H$500 ; 3 ; FAUX)

La plage commence en F : F vaut 1, G vaut 2, H vaut 3. D'où le 3.

Pourquoi le quatrième argument doit toujours valoir FAUX

C'est le piège le plus coûteux d'Excel, parce qu'il ne produit aucune erreur visible : il donne des résultats faux.

Si vous omettez le quatrième argument, Excel prend VRAI par défaut, c'est-à-dire la correspondance approchée : il cherche la plus grande valeur inférieure ou égale à ce que vous demandez. Pour la référence A-450 introuvable, il ramènera tranquillement la ligne de A-449, ou de A-12, sans un mot.

Une correspondance approchée n'a de sens que sur des tranches — barème d'imposition, remise par volume, note en lettres. Elle exige en outre que la première colonne soit triée en ordre croissant, sinon le résultat est arbitraire. Hors de ce cas précis, FAUX est la seule valeur correcte.

Prenez l'habitude de taper 0 plutôt que FAUX : Excel l'interprète de la même façon, et c'est deux caractères au lieu de cinq.

Bloquer la plage avant de recopier

Vous écrivez la formule en ligne 2, elle fonctionne. Vous la recopiez vers le bas, et à partir d'un certain point tout devient #N/A.

C'est que la plage a glissé avec la formule : partie de F2:H500, elle est devenue F3:H501, puis F4:H502. Les dernières lignes du catalogue sortent progressivement de la zone de recherche.

La correction tient en une touche : sélectionnez la plage dans la barre de formule et appuyez sur F4. Excel écrit $F$2:$H$500, et la plage ne bouge plus. La cellule cherchée, elle, doit continuer de suivre : A2 reste A2, sans dollar.

Le détail est expliqué en entier dans la fiche Références absolues : à quoi sert le dollar dans une formule.

Il existe une méthode plus sûre encore : transformez votre catalogue en tableau structuré avec Ctrl + L. La plage s'écrit alors Catalogue[#Tout], elle ne peut plus glisser, et elle s'étend toute seule quand vous ajoutez des lignes.

Votre formule renvoie #N/A : les six causes

#N/A signifie « valeur non trouvée ». Dans l'ordre de fréquence :

  1. La valeur n'existe réellement pas dans la première colonne de la plage. Vérifiez-le avec un Ctrl + F avant d'accuser la formule.
  2. La colonne cherchée n'est pas la première de la plage. RECHERCHEV ne regarde jamais ailleurs que dans la première colonne de ce que vous lui donnez.
  3. Un nombre d'un côté, du texte de l'autre. Le cas le plus vicieux : à l'œil, 1024 et 1024 sont identiques. Pour Excel, l'un peut être un nombre et l'autre une chaîne de caractères, et ils ne se correspondent pas. Indice visuel : un nombre s'aligne à droite, du texte s'aligne à gauche. Pour en avoir le cœur net, testez =ESTTEXTE(A2).
  4. Des espaces invisibles. Les exports de logiciels métier ajoutent souvent une espace en fin de valeur. =SUPPRESPACE(A2) la retire ; comparez la longueur avec =NBCAR(A2) pour la débusquer.
  5. La plage a glissé faute de dollars, comme vu plus haut.
  6. Le quatrième argument vaut VRAI sur des données non triées. Là, vous n'obtenez pas toujours #N/A — parfois un résultat faux, ce qui est pire.

Pour afficher un message plutôt que l'erreur, enveloppez le tout :

=SIERREUR(RECHERCHEV(A2 ; $F$2:$H$500 ; 3 ; 0) ; "Non trouvé")

Mais ne le faites qu'après avoir vérifié que la formule fonctionne : SIERREUR masque le symptôme, et une erreur masquée ne se corrige jamais.

Les autres messages d'erreur

  • #REF! — votre no_index_col dépasse le nombre de colonnes de la plage. Vous demandez la colonne 4 d'une plage qui n'en contient que 3.
  • #VALEUR!no_index_col vaut 0 ou un nombre négatif. La numérotation commence à 1.
  • #NOM? — le nom de la fonction est mal orthographié, ou vous avez tapé la version anglaise VLOOKUP dans un Excel français.

Chercher à gauche : INDEX et EQUIV

RECHERCHEV ne sait regarder que vers la droite. Si l'information voulue se trouve à gauche de la colonne d'identifiants, elle est inutilisable — et réorganiser les colonnes d'un fichier reçu n'est pas toujours possible.

Le couple INDEX / EQUIV n'a pas cette limite :

=INDEX(F2:F500 ; EQUIV(A2 ; H2:H500 ; 0))

Lisez-le de l'intérieur vers l'extérieur : EQUIV trouve à quelle position se trouve A2 dans la colonne H, et INDEX ramène la valeur qui occupe cette même position dans la colonne F. Peu importe que F soit avant ou après H.

Le 0 final d'EQUIV joue le rôle du FAUX de RECHERCHEV : correspondance exacte. Il s'oublie aussi facilement, avec les mêmes conséquences.

RECHERCHEX, si votre version la propose

Depuis Excel 2021 et sur Microsoft 365, une formule remplace les deux précédentes :

=RECHERCHEX(A2 ; H2:H500 ; F2:F500 ; "Non trouvé")

Vous désignez la colonne où chercher, puis la colonne à ramener. Plus de numéro de colonne à compter, plus de contrainte d'ordre, correspondance exacte par défaut, et le message d'erreur intégré en quatrième argument.

Attention avant de l'adopter partout : un fichier contenant RECHERCHEX ouvert dans Excel 2019 ou antérieur affiche #NOM?. Si vous échangez des classeurs avec des personnes dont vous ne connaissez pas la version, RECHERCHEV reste le choix sûr.

La liste de contrôle, quand ça ne marche pas

Dans cet ordre, en trente secondes :

  1. La valeur cherchée existe-t-elle bien dans la première colonne de la plage ?
  2. La plage commence-t-elle bien par la colonne contenant les identifiants ?
  3. Le quatrième argument est-il à 0 ou FAUX ?
  4. La plage est-elle bloquée par des $ ?
  5. Les deux valeurs sont-elles du même type — toutes deux nombres, ou toutes deux texte ?
  6. Y a-t-il des espaces en fin de valeur ?

Cinq fois sur six, la réponse est dans les trois premières lignes.

Pour aller plus loin

Excel et les fonctions de recherche

Apprenez à utiliser les fonctions de recherche d'Excel pour être plus efficace

3 h À distance ou sur site 5 participants max.
190 € HT / personne · dégressif

À lire ensuite