Bureautique

Erreur #N/A dans Excel : causes et comment la corriger

En bref :

  • #N/A signifie « valeur non disponible » : la formule n’a pas trouvé ce qu’elle cherchait. Ce n’est pas un bug d’Excel, mais le plus souvent une donnée absente ou mal formatée.
  • Quatre causes reviennent sans cesse : valeur introuvable, espace invisible, nombre stocké comme du texte et plage de recherche mal définie.
  • Pour l’afficher proprement : =SI.NON.DISP(formule;"Introuvable"), qui ne masque que #N/A et laisse apparaître les autres erreurs.

L’erreur #N/A (« Not Available », valeur non disponible) apparaît quand une fonction de recherche ne trouve pas la valeur demandée. Elle concerne RECHERCHEV, RECHERCHEX, RECHERCHEH, EQUIV et leurs combinaisons. Contrairement à d’autres erreurs, elle donne une information utile : « rien ne correspond ». Il faut donc comprendre pourquoi, avant de la masquer. Si votre cas concerne uniquement RECHERCHEV, voyez aussi RECHERCHEV ne fonctionne pas : les 8 causes les plus fréquentes. Pour comparer avec les autres codes, consultez le guide des erreurs Excel et leur signification.

Pourquoi #N/A apparaît : les causes et les solutions

Cause Comment la repérer Solution
La valeur n’existe pas dans la plage Cherchez-la à la main avec Ctrl + F Corrigez la saisie ou ajoutez la ligne manquante
Espaces en trop =LONG(A2) donne plus de caractères que prévu SUPPRESPACE
Nombre stocké comme texte Alignement à gauche, petit triangle vert Convertir en nombre avec CNUM ou Données > Convertir
Plage décalée ou non figée La formule glisse en recopiant vers le bas Figer avec F4 : $D$2:$E$500
Colonne clé à droite (RECHERCHEV) La valeur cherchée n’est pas dans la 1re colonne Utiliser RECHERCHEX ou INDEX et EQUIV
Correspondance approximative sur données non triées Dernier argument à VRAI ou omis Mettre FAUX pour une correspondance exacte

Espaces invisibles et formats texte ou nombre

C’est la cause la plus fréquente quand la valeur semble pourtant présente. Une cellule contenant « A1042 » et une autre contenant « A1042 » suivi d’un espace ne sont pas égales pour Excel. Testez avec =LONG(A2) : si le résultat dépasse le nombre de caractères visibles, nettoyez avec =SUPPRESPACE(A2). Les données copiées depuis un site web contiennent parfois une espace insécable que SUPPRESPACE ne retire pas : utilisez =SUBSTITUE(A2;CAR(160);"").

Même piège pour les formats : le code « 12345 » saisi comme texte ne correspond pas au nombre 12345. Alignement à gauche et triangle vert sont les indices ; =CNUM(A2) ou, à l’inverse, =TEXTE(A2;"0") harmonise les deux côtés.

Plage de recherche incorrecte

Deux erreurs de plage provoquent des #N/A qui n’apparaissent que sur certaines lignes. D’abord, la plage non figée : en recopiant la formule, D2:E500 devient D3:E501, puis la valeur sort de la zone. Ajoutez les signes $ (touche F4). Ensuite, la mauvaise colonne : RECHERCHEV ne cherche que dans la première colonne de la plage, alors que RECHERCHEX ou INDEX et EQUIV n’ont pas cette limite. Dans Excel, l’outil Formules > Évaluation de formule montre pas à pas ce que la formule calcule, ce qui permet de voir où la recherche échoue.

Masquer #N/A proprement avec SI.NON.DISP

Une fois la cause comprise, vous pouvez décider d’afficher autre chose :

=SI.NON.DISP(RECHERCHEV(A2;D:E;2;FAUX);"Introuvable")

La fonction SI.NON.DISP remplace uniquement #N/A. Évitez SIERREUR pour ce besoin : elle masque aussi #REF!, #VALEUR! ou #DIV/0!, et cache donc de vraies erreurs de formule. Avec RECHERCHEX, c’est encore plus simple, le quatrième argument prévoit le texte à afficher : =RECHERCHEX(A2;D:D;E:E;"Introuvable"). Voir la fonction RECHERCHEX. Pour tester une cellule sans la modifier, ESTNA renvoie VRAI si elle contient #N/A. D’autres erreurs se traitent différemment : #REF!, #VALEUR! et #DIV/0!.

#N/A volontaire : la fonction NA()

Parfois, #N/A est utile. Dans un graphique en courbes, Excel ne trace pas les points dont la valeur est #N/A, ce qui évite de faire plonger la courbe à zéro quand une donnée manque. Saisissez =NA() ou écrivez =SI(B2="";NA();B2) pour que les cellules vides n’apparaissent pas sur le graphique. Pensez à masquer l’erreur dans le tableau par une mise en forme conditionnelle (police blanche) plutôt qu’avec SIERREUR, qui effacerait le #N/A voulu.

Cas pratique : un catalogue importé avec des codes sales

Nadia importe un catalogue de 300 produits depuis un export comptable et cherche les prix avec RECHERCHEV. Douze lignes affichent #N/A. Elle teste =LONG(A2) : sept codes ont un caractère de trop. Elle ajoute une colonne avec =SUPPRESPACE(SUBSTITUE(A2;CAR(160);" ")), lance la recherche sur cette colonne et il ne reste que trois #N/A : trois codes réellement absents du tarif. Elle les remplace par « À créer » avec SI.NON.DISP et envoie la liste au service concerné. Les fonctions logiques d’Excel l’aident ensuite à trier les cas.

À lire aussi : cellule qui affiche ##### dans Excel.

Questions fréquentes

Que veut dire #N/A dans Excel ?

« Valeur non disponible » : la fonction n’a pas trouvé la valeur cherchée dans la plage indiquée.

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

Le plus souvent à cause d’un espace invisible, d’un format texte contre nombre, d’une plage décalée ou d’une valeur située à gauche de la colonne clé.

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

Avec =SI.NON.DISP(formule;"") ou =SI.NON.DISP(formule;"Introuvable"). Elle ne traite que #N/A.

Quelle différence entre SIERREUR et SI.NON.DISP ?

SIERREUR masque toutes les erreurs ; SI.NON.DISP ne masque que #N/A. La seconde est plus sûre, car elle laisse visibles les vraies erreurs de formule.

Peut-on supprimer tous les #N/A d’un coup ?

Utilisez Rechercher et sélectionner > Atteindre spécial > Formules > Erreurs, puis corrigez ou videz les cellules. Corrigez la cause en priorité pour qu’elles ne reviennent pas.

RECHERCHEX évite-t-elle les #N/A ?

Elle les gère plus simplement, grâce à un argument « si_non_trouvé », mais renvoie #N/A si vous ne le renseignez pas.

Articles Similaires

Bouton retour en haut de la page