Pourquoi VLOOKUP renvoie une valeur erronée dans Excel ? Causes & solutions pas à pas

Votre formule VLOOKUP (ou RECHERCHEV) vous renvoie une valeur qui ne correspond pas à la ligne ciblée ? Suivez ce guide pour comprendre chaque cause possible et appliquer la bonne correction sans perdre des heures à tâtonner.

Sommaire

Vue d’ensemble du problème

Un utilisateur dispose :

  • d’un classeur A (Excel 1) contenant la source des données ;
  • d’un classeur B (Excel 2) effectuant la recherche via VLOOKUP ;
  • d’une colonne clé (colonne A) dont chaque valeur est unique ;
  • de la valeur à retourner placée en colonne G du classeur A.

Pourtant, la formule renvoie tour à tour :

  • une valeur incohérente (d’une autre ligne) ;
  • parfois 0 alors qu’aucun zéro n’existe dans la source ;
  • ou encore #N/A malgré la présence apparente de la clé.
  • Trier la colonne A par ordre croissant ;
  • ou préférer le mode exact pour ignorer l’ordre.
  • lookup_value : la clé à rechercher (ex. A2).
  • table_array : la plage dans laquelle se trouvent la colonne clé et la colonne résultat. Utilisez toujours des références absolues ($) pour empêcher les décalages lors du recopiage.
  • colindexnum : attention au piège « 1 = A, 2 = B … 7 = G ». Comptez chaque colonne même si votre plage commence en C : Excel ne reconduit pas les lettres du classeur.
  • range_lookup : FALSE (ou 0) pour une correspondance exacte ; TRUE seulement si vous comprenez parfaitement le tri et les intervalles numériques.
  • Si la clé devrait être un nombre, convertissez les textes via Données > Convertir ou la formule =VALUE(A2).
  • Au contraire, si la clé est censée être du texte (ex. des codes commençant par 0), forcez le format Texte (Ctrl + 1 > Texte).
  • Un test rapide : comparez la longueur avec =LEN(A2) ; des espaces insécables ou non imprimables (char 127) faussent la recherche.
  • TRIM (ou SUPPRESPACE en français) élimine les espaces superflus, mais ne retire pas les caractères non imprimables.
  • Utilisez =CLEAN(TRIM(A2)) pour nettoyer la clé avant recherche.
  • Un copier‑coller manuel depuis un ERP injecte souvent des retours chariot cachés (CHAR(10)) invisibles à l’œil nu.
  • ralentit le recalcul ;
  • rend le débogage plus complexe ;
  • risque d’inclure des colonnes que vous n’aviez pas anticipées (un collègue insère une colonne et votre colindexnum devient caduc).
  • de comprendre la formule d’un simple coup d’œil ;
  • d’éviter les erreurs de décompte de colonnes (vous pouvez combiner avec COLUMN() pour calculer dynamiquement l’index).
  • Vérifiez que le classeur source est ouvert. Si ce n’est pas le cas, Excel recalculera tout de même mais en mode lien, pouvant ralentir la mise à jour.
  • Préférez un chemin réseau stable plutôt qu’un lecteur local susceptible d’être renommé (\\serveur\projets… vs C:\Utilisateurs\…).
  • Documentez la version (2021, 365). Les fonctions disponibles et la taille maximale d’un Tableau diffèrent entre éditions.
  • recherche exacte par défaut ;
  • pas de calcul de colonne : vous pointez explicitement la plage résultat ;
  • argument « ifnotfound » pour afficher un message personnalisé (plus propre qu’un IFERROR externe).
  • peut aussi chercher horizontalement ou inversement (valeur à gauche).
  • indépendance totale de la position relative des colonnes ;
  • souvent plus rapide qu’un VLOOKUP déclaré sur de très larges plages.
  • 🔢 Type de donnée homogène ? (Nombre vs Texte)
  • ⚙️ Mode de recherche : FALSE forcé ?
  • 📐 Références absolues ? (le $ manquant décale la plage en copiant)
  • 📊 Tri involontaire d’une colonne clé ?
  • 🗑️ Espaces cachés nettoyés ?
  • 🔁 Doublons vérifiés ?
  • 🛣️ Lien de fichier valide ?
  • Plage réduite pour accélérer le recalcul ?
  • Documenter chaque formule complexe (commentaires ou zone dédiée) ;
  • Versionner les classeurs : datez le nom de fichier ou stockez‑le dans SharePoint ;
  • Ajouter des tests automatiques (onglet « Contrôles ») qui comparent la somme des montants clés entre les classeurs ;
  • Former l’équipe à RECHERCHEX et aux Tableaux structurés pour limiter le recours à VLOOKUP sur des plages statiques.
Sommaire