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) ouA1&""(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
- Avez-vous mis
FAUXen 4ème argument ? - La colonne cherchée est-elle la 1ère de la plage ?
- Vos données sont-elles nettoyées (SUPPRESPACE) ?
- Les types (texte vs nombre) sont-ils homogènes ?
- La plage est-elle figée avec
$? - L'index de colonne est-il robuste aux insertions ?
- 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