La fonction TYPE.ERREUR (ERROR.TYPE en anglais) renvoie un numéro qui identifie précisément le type d'erreur d'une cellule. Chaque erreur Excel a son code unique : #N/A donne 7, #DIV/0! donne 2, #VALEUR! donne 3, etc. C'est l'outil parfait pour diagnostiquer et traiter différemment chaque type d'erreur dans tes tableaux de bord, rapports d'audit ou systèmes de contrôle qualité.
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.
Syntaxe de la fonction TYPE.ERREUR
=TYPE.ERREUR(valeur_erreur)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.
Astuce : Commence toujours par tester si une erreur existe avec ESTERREUR(A1), puis utilise TYPE.ERREUR pour identifier son type. Cela évite d'afficher des #N/A inutiles quand la cellule ne contient pas d'erreur.
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.
Pas envie d'écrire la formule TYPE.ERREUR à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Audit : diagnostiquer les erreurs dans un rapport
Tu audites un fichier Excel complexe transmis par un collègue et tu veux identifier rapidement quels types d'erreurs se cachent dans les formules. TYPE.ERREUR te donne le diagnostic précis pour chaque cellule problématique, ce qui te permet de prioriser les corrections et de comprendre l'origine des problèmes.
Chaque erreur a son code numérique unique : 2 pour division par zéro, 7 pour valeur non trouvée, 3 pour type invalide, 4 pour référence cassée.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Formule | Résultat | Code | Diagnostic automatique |
| 2 | =1/0 | #DIV/0! | 2 | Division par zéro |
| 3 | =RECHERCHEV("X";A1:B10;2;FAUX) | #N/A | 7 | Valeur introuvable |
| 4 | =A1+B1 | #VALEUR! | 3 | Type de donnée invalide |
| 5 | =SOMME(Feuille2!A1:A10) | #REF! | 4 | Référence invalide |
=TYPE.ERREUR(B2)Astuce de pro : Combine TYPE.ERREUR avec CHOISIR pour afficher directement le nom de l'erreur : =SIERREUR(CHOISIR(TYPE.ERREUR(B2); "#NUL!"; "#DIV/0!"; "#VALEUR!"; "#REF!"; "#NOM?"; "#NOMBRE!"; "#N/A"; "#DONNEES!"); "OK").
Contrôle qualité : traiter différemment chaque type d'erreur
Dans ton fichier de données import/export, tu veux personnaliser les messages d'erreur selon leur type. Les #N/A (produits non trouvés) doivent afficher "Non trouvé", les #DIV/0! doivent afficher "Division nulle", et les autres erreurs "Erreur de calcul". TYPE.ERREUR permet ce traitement sur mesure pour une meilleure expérience utilisateur.
La formule teste d'abord si une erreur existe avec ESTERREUR, puis distingue les codes 7 et 2 pour afficher le bon message.
| A | B | C | |
|---|---|---|---|
| 1 | Référence | Résultat recherche | Message personnalisé |
| 2 | REF001 | #N/A | Non trouvé |
| 3 | REF002 | #DIV/0! | Division nulle |
| 4 | REF003 | #VALEUR! | Erreur de calcul |
| 5 | REF004 | 125 | 125 |
=SI(ESTERREUR(B2); SI(TYPE.ERREUR(B2)=7; "Non trouvé"; SI(TYPE.ERREUR(B2)=2; "Division nulle"; "Erreur de calcul")); B2)Astuce de pro : Teste toujours avec ESTERREUR avant d'appeler TYPE.ERREUR. Sinon, TYPE.ERREUR sera appelée même sur les cellules sans erreur et renverra #N/A, ce qui ralentit le calcul et pollue ton fichier.
Tableau de bord : compter les erreurs par type
En fin de mois, tu veux générer un rapport qualité qui compte combien d'erreurs de chaque type se trouvent dans ta feuille de calcul commerciale. Cela te permet d'identifier les problèmes récurrents et de prioriser les corrections selon leur impact métier.
SOMPROD avec TYPE.ERREUR traite chaque cellule de la plage et compte celles dont le code correspond. Pour compter toutes les erreurs d'un coup, ESTERREUR seule est plus rapide.
| A | B | C | |
|---|---|---|---|
| 1 | Type d'erreur | Nombre | Formule utilisée |
| 2 | #N/A (clients non trouvés) | 12 | =SOMMEPROD((TYPE.ERREUR(A:A)=7)*1) |
| 3 | #DIV/0! (divisions nulles) | 5 | =SOMMEPROD((TYPE.ERREUR(A:A)=2)*1) |
| 4 | #REF! (références cassées) | 3 | =SOMMEPROD((TYPE.ERREUR(A:A)=4)*1) |
| 5 | Toutes erreurs confondues | 20 | =SOMMEPROD(ESTERREUR(A:A)*1) |
=SOMMEPROD((TYPE.ERREUR(Données!A:A)=7)*1)Astuce de pro : Crée un graphique dynamique qui affiche le nombre d'erreurs par type. Cela permet de visualiser en un coup d'oeil les problèmes récurrents et de mesurer l'évolution de la qualité de tes données au fil du temps.
Débogage : créer un assistant de diagnostic intelligent
Tu crées un outil de débogage pour ton équipe qui analyse automatiquement une cellule et affiche un message d'aide personnalisé selon le type d'erreur détecté. Cela permet aux utilisateurs moins expérimentés de comprendre et résoudre les erreurs sans aide extérieure, améliorant l'autonomie et la productivité de l'équipe.
La combinaison ESTERREUR + TYPE.ERREUR + CHOISIR est la plus puissante pour ce cas d'usage : elle couvre tous les types d'erreurs en une seule formule.
| A | B | C | |
|---|---|---|---|
| 1 | Cellule testée | Erreur | Message d'aide automatique |
| 2 | =RECHERCHEV("X";A:B;2;FAUX) | #N/A | Vérifiez que la valeur existe dans la 1ère colonne |
| 3 | =C5/D5 | #DIV/0! | Le diviseur est zéro ou vide. Ajoutez une condition SI |
| 4 | =SOMME(Feuille3!A:A) | #REF! | La feuille ou plage référencée n'existe plus |
| 5 | ="Total: " + A1 | #VALEUR! | Impossible d'additionner texte et nombre. Utilisez & |
=SI(ESTERREUR(A2); CHOISIR(TYPE.ERREUR(A2); "Erreur intersection"; "Le diviseur est zéro ou vide"; "Type invalide"; "Plage cassée"; "Fonction mal orthographiée"; "Nombre invalide"; "Vérifiez la 1ère colonne"; "Erreur données"); "OK")Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 sur la fonction TYPE.ERREUR
Quelle est la différence entre TYPE.ERREUR et ESTERREUR ?
ESTERREUR retourne simplement VRAI ou FAUX pour indiquer si une cellule contient une erreur. TYPE.ERREUR va plus loin en identifiant précisément quelle erreur : #N/A retourne 7, #VALEUR! retourne 3, etc. Utilise TYPE.ERREUR quand tu veux traiter différemment chaque type d'erreur selon sa nature.
Comment gérer les erreurs #N/A spécifiquement avec TYPE.ERREUR ?
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.
Que se passe-t-il si j'applique TYPE.ERREUR à une cellule sans erreur ?
TYPE.ERREUR renvoie elle-même #N/A si la cellule ne contient pas d'erreur. C'est pour ça qu'on la combine souvent avec SIERREUR : =SIERREUR(TYPE.ERREUR(A1); "Pas d'erreur"), ou qu'on teste d'abord avec ESTERREUR avant d'utiliser TYPE.ERREUR.
Quels sont tous les codes d'erreur de TYPE.ERREUR ?
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.
Peut-on utiliser TYPE.ERREUR dans des formules matricielles ou avec SOMMEPROD ?
Oui. TYPE.ERREUR fonctionne très bien avec SOMMEPROD pour compter les erreurs par type dans une plage : =SOMMEPROD((TYPE.ERREUR(A1:A100)=7)*1) compte tous les #N/A. C'est idéal pour créer des tableaux de bord de qualité de données ou des rapports d'audit automatisés.
Pour aller plus loin
Les fonctions similaires : SIERREUR, ESTERREUR, ESTNA, SI.NON.DISP, SI
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

