RECHERCHEV : 7 erreurs courantes (et comment les éviter)

RECHERCHEV est la formule la plus utilisée d'Excel — et probablement aussi la plus mal utilisée. Voici les 7 pièges qui font perdre des heures, et leurs solutions.

⚠️ 1. Oublier le « FAUX » en 4ème argument

C'est l'erreur classique. Sans le 4ème argument, ou avec VRAI, Excel fait une recherche approximative : il prend la dernière valeur ≤ à la recherche, dans une table supposée triée.

=RECHERCHEV(A1; T; 2)        ❌ recherche approximative
=RECHERCHEV(A1; T; 2; FAUX)  ✅ correspondance exacte

Sur une table non triée, le résultat sera silencieusement faux — pas d'erreur affichée. Le pire des bugs.

⚠️ 2. La colonne cherchée n'est pas la 1ère

RECHERCHEV ne cherche que dans la 1ère colonne de la plage indiquée. Si votre identifiant est en colonne C et que vous voulez le nom en colonne B, RECHERCHEV ne peut rien faire.

Solution : utilisez INDEX + EQUIV ou RECHERCHEX (Excel 365).

=INDEX(B:B; EQUIV(A1; C:C; 0))

⚠️ 3. Espaces parasites ou casse différente

« Paris » et « Paris » avec un espace insécable, ce n'est pas la même chaîne. RECHERCHEV renvoie #N/A.

Solutions :

=RECHERCHEV(SUPPRESPACE(A1); T; 2; FAUX)
=RECHERCHEV(MAJUSCULE(A1); T; 2; FAUX)

Nettoyez les sources avec SUPPRESPACE et normalisez la casse si nécessaire.

⚠️ 4. Type de données incompatible

Le code "00123" (texte) ne correspond pas au code 123 (nombre). Symptôme : #N/A alors que « visuellement » c'est pareil.

Solutions :

  • Convertir en nombre : CNUM(A1)
  • Convertir en texte : TEXTE(A1; "00000")
  • Forcer la conversion : A1*1 (nombre) ou A1&"" (texte)

⚠️ 5. Plage non figée lors d'une copie

Quand vous étirez la formule vers le bas, la plage de la table glisse avec.

=RECHERCHEV(A2; T2:D100; 2; FAUX)      ❌ devient T3:D101, T4:D102...
=RECHERCHEV(A2; $T$2:$D$100; 2; FAUX)  ✅ plage figée

Utilisez F4 pour basculer entre les modes de référence (relatif → absolu).

⚠️ 6. Numéro de colonne décalé après modification

Vous indiquez la 3ème colonne, mais quelqu'un insère une colonne au milieu : votre formule pointe maintenant vers le mauvais champ. Sans erreur affichée.

Solutions :

  • Utiliser INDEX + EQUIV (plus robuste)
  • Utiliser un tableau structuré et référencer par nom de colonne
  • Calculer l'index dynamiquement : EQUIV("Nom"; T1:Z1; 0)

⚠️ 7. Le #N/A non géré

Quand la valeur n'existe pas, RECHERCHEV renvoie #N/A. Dans un rapport, c'est moche et ça casse les calculs en aval.

=SIERREUR(RECHERCHEV(A1; T; 2; FAUX); "Non trouvé")
=SIERREUR(RECHERCHEV(A1; T; 2; FAUX); 0)

SIERREUR est votre meilleur ami pour les rapports propres. Attention cependant : si vous obtenez beaucoup de #N/A, c'est probablement le symptôme d'un problème de données qu'il faut investiguer, pas masquer.

✅ Récapitulatif : la checklist anti-bug

  1. Avez-vous mis FAUX en 4ème argument ?
  2. La colonne cherchée est-elle la 1ère de la plage ?
  3. Vos données sont-elles nettoyées (SUPPRESPACE) ?
  4. Les types (texte vs nombre) sont-ils homogènes ?
  5. La plage est-elle figée avec $ ?
  6. L'index de colonne est-il robuste aux insertions ?
  7. Avez-vous encapsulé dans SIERREUR ?
Si vous avez Excel 365, passez à RECHERCHEX dès que possible : elle élimine d'un coup les pièges 1, 2, 5 et 7.

Tutoriel RECHERCHEV Tutoriel RECHERCHEX Article INDEX + EQUIV