Qu'est-ce que la fonction TYPE. ERREUR ?
TYPE.ERREUR (ERROR.TYPE en anglais) te sert quand une simple alerte « il y a une erreur quelque part » ne suffit plus, parce que corriger un #DIV/0! et un #N/A demande deux réponses complètement différentes. Elle te permet de trier tes cellules fautives par nature avant même d'ouvrir le premier chantier de correction, plutôt que de les examiner une par une à l'oeil.
Contrairement à ESTERREUR qui retourne simplement VRAI/FAUX, TYPE.ERREUR te permet de créer des logiques conditionnelles sophistiquées : afficher un message personnalisé pour chaque type d'erreur, compter les erreurs par catégorie, ou automatiser la détection de problèmes dans des fichiers complexes.

Comprendre chaque paramètre de la fonction TYPE.ERREUR
valeur_erreur
: la référence de cellule ou la formule dont tu veux identifier l'erreurTu peux passer une référence comme A1, une formule directe comme =1/0, ou le résultat d'une fonction comme =RECHERCHEV("X"; A:B; 2; FAUX).
Quelques exemples valides : =TYPE.ERREUR(A1) teste la cellule A1, =TYPE.ERREUR(1/0) teste directement une division par zéro (renvoie 2), =TYPE.ERREUR(RECHERCHEV("X"; A:B; 2; FAUX)) teste le résultat d'une recherche.
Attention : TYPE.ERREUR ne corrige pas l'erreur, elle l'identifie seulement. Pour gérer toutes les erreurs d'un coup, utilise SIERREUR. Pour gérer uniquement les #N/A, préfère SI.NON.DISP qui est plus simple.

Exemples pratiques pas à pas
Comment identifier le code d'une erreur avec la fonction TYPE.ERREUR
Un classeur de suivi te revient avec des cellules en erreur un peu partout, et le mot « erreur » ne dit rien de ce qu'il faut corriger : une division par zéro ne se répare pas comme une valeur non renseignée. Tu veux classer chaque cellule fautive par nature avant d'ouvrir le premier chantier de correction. La fonction TYPE.ERREUR rend un numéro par famille d'erreur, ce qui te permet de trier et de compter.
- 1Dans une cellule, écris
=TYPE.ERREUR(. - 2En 1er argument : clique sur la cellule dont tu veux qualifier l'erreur,
B2, qui affiche#DIV/0!. Pointer la cellule plutôt que recopier l'erreur à la main te permet ensuite de tirer la formule sur toute la colonne. L'argument accepte aussi un calcul posé directement, sans passer par une cellule, et=TYPE.ERREUR(1/0)rend2de la même façon. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour classer chaque cellule fautive de la colonne.
=TYPE.ERREUR(B2)2 pour le #DIV/0! de la première ligne, 7 pour le #N/A, 6 pour le #NOMBRE! que rend la racine d'un nombre négatif, et 3 pour le #VALEUR! d'un texte qu'on tente de convertir. Un numéro se trie et se compte, là où l'erreur brute ne se prête à rien.Comment afficher un diagnostic lisible en combinant les fonctions TYPE.ERREUR et CHOISIR
Ton classeur d'audit part maintenant chez les personnes qui ont saisi les données, et un 6 en face d'une cellule ne leur dira rien : ces numéros ne parlent qu'à toi. Tu veux une phrase en clair à la place du code, sans empiler des SI les uns dans les autres. La fonction CHOISIR se sert du numéro rendu par ta fonction TYPE.ERREUR comme d'un rang dans une liste de libellés.
- 1Dans une cellule, écris
=CHOISIR(. - 2En 1er argument : écris le rang à retenir et referme-le,
TYPE.ERREUR(B2). La fonction TYPE.ERREUR rend2pour le#DIV/0!de cette ligne, et ce numéro sert de position dans la liste de libellés qui suit. - 3En 2ᵉ argument : saisis le libellé du code 1,
"Intersection vide". Il correspond à l'erreur#NUL!, la première de la série. - 4En 3ᵉ argument : saisis le libellé du code 2,
"Diviseur à zéro". C'est lui qui sortira ici, puisque la fonction TYPE.ERREUR a rendu2pour le#DIV/0!. - 5En 4ᵉ argument : saisis le libellé du code 3,
"Type de donnée incompatible". Il répond au#VALEUR!. - 6En 5ᵉ argument : saisis le libellé du code 4,
"Référence supprimée". Il désigne le#REF!, l'erreur d'une cellule effacée. - 7En 6ᵉ argument : saisis le libellé du code 5,
"Nom de fonction inconnu". Il répond au#NOM?. - 8En 7ᵉ argument : saisis le libellé du code 6,
"Nombre hors du domaine". Il correspond au#NOMBRE!. - 9En 8ᵉ argument : saisis le libellé du code 7,
"Aucune correspondance". Il traduit le#N/A, souvent laissé par une RECHERCHEV infructueuse. - 10En 9ᵉ argument : saisis le libellé du code 8,
"Données externes indisponibles". Il couvre le#DONNEES_EXTRACTION!, le huitième et dernier code, sans quoi une erreur non prévue ferait échouer la fonction CHOISIR. - 11Ferme la parenthèse et appuie sur Entrée.
=CHOISIR(TYPE.ERREUR(B2); "Intersection vide"; "Diviseur à zéro"; "Type de donnée incompatible"; "Référence supprimée"; "Nom de fonction inconnu"; "Nombre hors du domaine"; "Aucune correspondance"; "Données externes indisponibles")2 sur la première ligne, et la fonction CHOISIR va chercher le deuxième texte de sa liste, Diviseur à zéro. Tout tient à l'ordre des libellés : le code d'une erreur est aussi son rang dans la liste, donc un texte déplacé fausse tout le diagnostic.Attention : Cette formule ne tient que parce que toutes les cellules contrôlées sont réellement en erreur. Sur une cellule saine, la fonction TYPE.ERREUR ne rend aucun numéro et la fonction CHOISIR n'a plus de rang à suivre : c'est l'objet de l'exemple suivant.
Comment traiter le #N/A que renvoie la fonction TYPE.ERREUR sur une cellule saine
Tu passes ton contrôle sur la feuille entière et non plus sur les seules cellules déjà repérées, et la fonction TYPE.ERREUR se retourne alors contre toi : posée sur une cellule parfaitement saine, elle n'a aucune erreur à qualifier et renvoie #N/A, une erreur de plus. Ta colonne de diagnostic finit plus rouge que les données qu'elle surveille. Tu veux un code sur les lignes fautives et un mot rassurant sur les autres.
- 1Dans une cellule, écris
=SIERREUR(. - 2En 1er argument : écris le calcul à tenter et referme-le,
TYPE.ERREUR(B2), qui affiche#DIV/0!et rend donc2. C'est ce calcul qui déraille sur une cellule saine, faute d'erreur à qualifier. - 3En 2ᵉ argument : saisis ce qui s'affiche quand ce calcul échoue,
"Pas d'erreur". Il se déclenche sur les lignes saines, celles où la fonction TYPE.ERREUR renvoie son propre#N/A. - 4Ferme la parenthèse et appuie sur Entrée.
=SIERREUR(TYPE.ERREUR(B2); "Pas d'erreur")2 sur la cellule en #DIV/0!, mais elle rend #N/A sur la ligne à 125 : sans erreur à classer, elle en fabrique une. La fonction SIERREUR intercepte ce #N/A et affiche ton texte, ce qui laisse la colonne lisible de haut en bas.
Les erreurs fréquentes avec la fonction TYPE.ERREUR
Le faux pas qui revient le plus est paradoxal : appliquée à une cellule parfaitement saine, TYPE.ERREUR renvoie elle-même #N/A, parce qu'elle n'a aucune erreur à classer. Tu crois tester un problème et tu en fabriques un.
Les autres pièges sont des confusions de fonction : la mélanger avec TYPE (qui parle de type de données, pas d'erreur), la sortir pour gérer un simple #N/A là où SI.NON.DISP suffit, ou oublier le code 8 (#DONNEES_EXTRACTION!) arrivé avec Excel 365.
TYPE.ERREUR renvoie elle-même #N/A sur une cellule normale
Si tu appliques TYPE.ERREUR à une cellule qui ne contient pas d'erreur, la fonction renvoie #N/A. C'est le piège le plus fréquent : tu penses tester une erreur mais tu en crées une nouvelle.
Solution : Entoure toujours TYPE.ERREUR d'un test préalable : =SI(ESTERREUR(A1); TYPE.ERREUR(A1); "Pas d'erreur") ou utilise simplement =SIERREUR(TYPE.ERREUR(A1); "OK").
Utilisation inutile pour gérer uniquement les #N/A
Si tu veux juste tester ou remplacer les #N/A, TYPE.ERREUR est trop complexe. Les fonctions ESTNA et SI.NON.DISP sont plus simples, plus rapides, et plus lisibles.
Solution : Réserve TYPE.ERREUR aux cas où tu dois vraiment distinguer plusieurs types d'erreurs. Pour les #N/A seuls, utilise =SI.NON.DISP(A1; "Non trouvé") ou =SI(ESTNA(A1); "Non trouvé"; A1).
Confusion avec la fonction TYPE (sans .ERREUR)
TYPE (sans .ERREUR) renvoie le type de données : 1 pour nombre, 2 pour texte, 4 pour VRAI/FAUX, etc. TYPE.ERREUR est complètement différente : elle identifie le type d'erreur Excel.
Solution : Mémorise la distinction : =TYPE(A1) renvoie 1 si A1 contient 100 (c'est un nombre), =TYPE.ERREUR(A1) renvoie 7 si A1 contient #N/A (c'est une erreur de valeur non trouvée).
Oublier le code 8 (#DONNEES_EXTRACTION!) avec Excel 365
Excel 365 a introduit une nouvelle erreur : #DONNEES_EXTRACTION! (code 8) pour les erreurs liées aux types de données dynamiques. Si tu utilises CHOISIR avec seulement 7 options, tu obtiendras une erreur avec ce type.
Solution : Ajoute toujours un 8ème choix dans tes formules CHOISIR, ou utilise SIERREUR pour gérer les cas non prévus : =SIERREUR(CHOISIR(TYPE.ERREUR(A1); ...; "Erreur données"); "OK").

TYPE.ERREUR vs ESTERREUR vs SIERREUR vs SI.NON.DISP vs ESTNA
Ne sors TYPE.ERREUR que lorsque tu dois distinguer plusieurs erreurs et réagir différemment à chacune : c'est la seule du lot qui te rend un numéro (1 à 8) plutôt qu'un simple VRAI/FAUX ou une valeur de remplacement. Pour juste savoir s'il y a une erreur, ESTERREUR suffit ; pour la masquer d'un coup, c'est SIERREUR.
Si tu ne traques qu'un #N/A (le cas classique d'une RECHERCHEV qui ne trouve rien), passe par SI.NON.DISP ou ESTNA : plus court, plus lisible, et pas de numéro à mémoriser.
| Fonction | Utilité principale | Résultat | Cas d'usage |
|---|---|---|---|
| TYPE.ERREUR | Identifier le type d'erreur | Numéro 1-8 | Diagnostic précis, messages personnalisés |
| ESTERREUR | Tester si une erreur existe | VRAI/FAUX | Conditions simples, tests rapides |
| SIERREUR | Remplacer toute erreur | Valeur ou remplacement | Masquer/corriger erreurs génériques |
| SI.NON.DISP | Remplacer #N/A uniquement | Valeur ou remplacement | RECHERCHEV, RECHERCHEX propres |
| ESTNA | Tester si #N/A uniquement | VRAI/FAUX | Tests spécifiques valeur non trouvée |

Astuces avancées avec TYPE.ERREUR
Mémorise les deux codes les plus fréquents
Dans les fichiers métier courants, 80% des erreurs sont de deux types : #N/A (code 7, valeur introuvable, souvent après une RECHERCHEV) et #DIV/0! (code 2, division par zéro, souvent sur des taux ou ratios). Retiens ces deux codes et tu géreras l'essentiel.
Les codes 4 (#REF!) et 3 (#VALEUR!) arrivent en troisième et quatrième position dans la plupart des audits de fichiers complexes.
Compte les erreurs par type avec SOMMEPROD
TYPE.ERREUR fonctionne très bien avec SOMMEPROD pour créer un rapport de qualité de données : =SOMMEPROD((TYPE.ERREUR(A1:A100)=7)*1) compte tous les #N/A de la plage.
Cette technique est idéale pour des tableaux de bord de qualité qui se mettent à jour automatiquement à chaque modification des données.
Questions fréquentes
Si TYPE.ERREUR(A1) retourne 7, alors A1 contient #N/A. Tu peux créer une formule conditionnelle : =SI(TYPE.ERREUR(A1)=7; "Valeur introuvable"; A1). Mais pour #N/A uniquement, ESTNA est plus simple et plus performant.
1=#NUL!, 2=#DIV/0!, 3=#VALEUR!, 4=#REF!, 5=#NOM?, 6=#NOMBRE!, 7=#N/A, 8=#DONNEES_EXTRACTION! (Excel 365). Retiens surtout 7 pour #N/A (valeur non trouvée) et 2 pour #DIV/0! (division par zéro) qui sont les erreurs les plus fréquentes dans les fichiers métier.
Pour aller plus loin
Continue sur ta lancée après la fonction TYPE.ERREUR : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



