Apprendre Excel
FR
Définit l'affichage des nombres, des dates et des formules, pour que tout fonctionne comme dans votre Excel.

Accueil › Fonctions Excel › RECHERCHEV › Erreur #N/A

Erreur #N/A dans RECHERCHEV : causes et solutions

#N/A signifie « non disponible » : RECHERCHEV a cherché votre valeur et ne l'a pas trouvée. Parfois, c'est normal, parce que la valeur n'est vraiment pas dans la liste. Mais souvent, la valeur est bien là et RECHERCHEV ne la voit toujours pas. Voici les causes, de la plus à la moins fréquente, et comment corriger chacune.

Dans ce guide
  1. 7 raisons pour lesquelles RECHERCHEV renvoie #N/A
  2. Espaces en trop
  3. Nombres stockés en texte
  4. Mauvaise plage
  5. Masquer #N/A avec SI.NON.DISP
  6. Essayez vous-même
  7. Autres erreurs
  8. Plus de guides
  9. Questions fréquentes
Lina se gratte la tête devant une erreur dans sa feuille de calcul, avec notre mascotte inquiète

7 raisons pour lesquelles RECHERCHEV renvoie #N/A

CauseComment la repérerSolution
1. La valeur est absenteCherchez dans la liste avec Ctrl + F.Ajoutez la valeur, ou affichez votre propre texte avec SI.NON.DISP.
2. Des espaces en trop« Mangue » suivi d'un espace ressemble à « Mangue ».Nettoyez les données avec SUPPRESPACE.
3. Un nombre stocké en texteUn petit triangle vert dans la cellule, ou un nombre aligné à gauche.Convertissez le texte en nombres.
4. La mauvaise première colonneLa valeur est dans votre tableau, mais pas dans la première colonne de la plage.Commencez la plage par la colonne dans laquelle vous cherchez.
5. La plage s'est décaléeLes premières lignes fonctionnent, celles du bas donnent #N/A.Figez la plage avec des signes $.
6. Valeur proche sur des données non triéesLe dernier argument est VRAI ou absent.Utilisez FAUX pour une correspondance exacte.
7. Valeur proche en dessous de la plus petite valeurVotre valeur est inférieure à la première ligne du tableau.Ajoutez une ligne avec 0 en haut du tableau.

Solution : les espaces en trop

Les données copiées depuis d'autres systèmes ont souvent des espaces au début ou à la fin. Pour vous, « Mangue » et « Mangue » suivi d'un espace sont identiques, mais Excel voit deux valeurs différentes. Vous pouvez vérifier une cellule avec NBCAR : si =NBCAR(A5) donne 7 pour « Mangue », il y a un espace caché.

La solution la plus rapide consiste à nettoyer la valeur cherchée dans la formule :

=RECHERCHEV(SUPPRESPACE(E2); A2:C7; 3; FAUX)

Si les espaces sont dans le tableau lui-même, ajoutez une colonne avec SUPPRESPACE, ou nettoyez les données une fois avec Rechercher et remplacer.

Solution : les nombres stockés en texte

Un code comme 1004 peut être stocké comme le nombre 1004 ou comme le texte « 1004 ». RECHERCHEV les traite comme des valeurs différentes. C'est très courant avec les exports d'autres logiciels.

Si le tableau contient des nombres et que votre valeur cherchée est du texte, convertissez la valeur cherchée en nombre :

=RECHERCHEV(CNUM(E2); A2:C7; 3; FAUX)

À l'inverse, quand le tableau contient du texte et que vous cherchez un nombre, assemblez-le avec un texte vide : E2&"" transforme 1004 en « 1004 ». Pour une solution permanente, lisez convertir du texte en nombre.

Solution : la mauvaise première colonne ou une plage qui se décale

RECHERCHEV ne cherche que dans la première colonne de la plage que vous lui donnez. Si vous cherchez un nom dans une plage qui commence par la colonne des codes, elle renvoie #N/A même si le nom est dans le tableau. Commencez la plage par la colonne qui contient les valeurs cherchées.

Si la formule fonctionne sur la première ligne mais pas plus bas, la plage s'est décalée en recopiant : A2:C7 est devenu A3:C8, puis A4:C9. Figez-la avec des signes $, comme $A$2:$C$7, pour que chaque copie cherche dans tout le tableau.

Masquer #N/A avec SI.NON.DISP ou SIERREUR

Parfois, #N/A est la bonne réponse : un nouveau code produit qui n'est pas encore dans votre liste. Vous ne voulez alors pas d'erreur dans votre rapport, mais un message clair. Entourez RECHERCHEV de SI.NON.DISP :

=SI.NON.DISP(RECHERCHEV(D2; A2:B6; 2; FAUX); "Code inconnu")

SI.NON.DISP n'intercepte que #N/A. SIERREUR intercepte toutes les erreurs, y compris le #REF! d'un mauvais numéro de colonne : elle peut donc masquer des erreurs dans votre formule. C'est pourquoi SI.NON.DISP est le choix le plus sûr pour les recherches. Utilisez SIERREUR si vous travaillez aussi avec Excel 2010 ou une version plus ancienne, où SI.NON.DISP n'existe pas.

Exercice : affichez votre propre texte au lieu de #N/A

Le code en D2 n'est pas dans la liste des produits. Construisez une RECHERCHEV dans SI.NON.DISP pour que la cellule affiche « Code inconnu » au lieu de #N/A.

Exercice : dans la cellule E2, tapez =SI.NON.DISP(RECHERCHEV(D2;A2:B6;2;FAUX);"Code inconnu") pour afficher votre propre message. Activez JavaScript pour le faire de façon interactive.

Autres erreurs de RECHERCHEV

  • #REF! : le numéro de colonne dépasse le nombre de colonnes de votre plage. Une plage A2:C7 a 3 colonnes : un 4 donne donc #REF!.
  • #VALEUR! : le numéro de colonne est inférieur à 1, ou la valeur cherchée dépasse 255 caractères.
  • #NOM? : le nom de la fonction est mal écrit, ou un texte de la formule n'est pas entre guillemets.
  • Une mauvaise valeur sans erreur : le dernier argument manque, RECHERCHEV utilise donc une valeur proche. Ajoutez FAUX.

Pour toutes les erreurs d'Excel au même endroit, lisez les erreurs de formules Excel et comment les corriger.

Plus de guides sur RECHERCHEV

Questions fréquentes

Pourquoi RECHERCHEV renvoie-t-elle #N/A alors que la valeur existe ?

Les valeurs semblent identiques mais ne le sont pas : il y a un espace en trop, l'une est un nombre et l'autre du texte, ou la valeur n'est pas dans la première colonne de votre plage. Vérifiez avec NBCAR et ESTNUM sur les deux cellules.

Comment remplacer #N/A par 0 ou par une cellule vide ?

Entourez la formule de SI.NON.DISP et mettez le remplacement en second argument : 0 pour zéro, ou deux guillemets ("") pour une cellule qui semble vide.

SI.NON.DISP ou SIERREUR avec RECHERCHEV ?

SI.NON.DISP, chaque fois que possible. Elle ne masque que « introuvable » : les vraies erreurs, comme un mauvais numéro de colonne, restent visibles. SIERREUR masque toutes les erreurs.

Pourquoi RECHERCHEV fonctionne-t-elle sur une ligne et donne #N/A sur la suivante ?

En général, la plage du tableau s'est décalée en recopiant la formule vers le bas. Figez-la avec des signes $, comme $A$2:$C$7.