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.



