Fonction TYPE.ERREURIdentifier précisément chaque type d'erreur – Guide 2026
La fonction TYPE.ERREUR (ERROR.TYPE en anglais) retourne un numéro qui identifie 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)Retourne un numéro correspondant au type d'erreur, ou #N/A si la cellule ne contient pas d'erreur.
Tableau des codes d'erreur
#NUL!→ 1#DIV/0!→ 2#VALEUR!→ 3#REF!→ 4#NOM?→ 5#NOMBRE!→ 6#N/A→ 7#DONNEES_EXTRACTION!→ 8Mémorisation facile : Les erreurs les plus courantes sont #N/A (7) pour "valeur introuvable" et #DIV/0! (2) pour "division par zéro". Ces deux codes représentent 80% des erreurs dans les fichiers métier.
Comprendre chaque paramètre
Paramètre 1 : valeur_erreur
Type :
Référence de cellule contenant une erreur, ou formule qui produit une erreur.
Ce que tu dois fournir :
Une référence comme A1, B5, ou une formule directe comme 1/0.
Exemples valides :
=TYPE.ERREUR(A1)– Teste la cellule A1=TYPE.ERREUR(1/0)– Teste directement une division par zéro (retourne 2)=TYPE.ERREUR(RECHERCHEV("X";A:B;2;FAUX))– Teste le résultat d'une RECHERCHEV
Points d'attention :
- Si la cellule ne contient PAS d'erreur, TYPE.ERREUR retourne elle-même #N/A
- Tu dois toujours combiner avec ESTERREUR ou SIERREUR pour éviter d'afficher #N/A
- TYPE.ERREUR ne corrige pas l'erreur, elle l'identifie seulement
Bonne pratique : Commence toujours par tester si une erreur existe avecESTERREUR(A1), puis utiliseTYPE.ERREUR(A1) pour identifier son type. Cela évite d'afficher des #N/A inutiles dans ton fichier.
Exemples pratiques métier
Exemple 1 – Audit automatisé : 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.
| 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 audit : 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")
Exemple 2 – 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.
Si TYPE.ERREUR=7 (#N/A), affiche 'Non trouvé'. Si =2 (#DIV/0!), affiche 'Division nulle'. Sinon, message générique.
| 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)Version simplifiée avec SI.CONDITIONS (Excel 365+) :
=SI(ESTERREUR(B2); SI.CONDITIONS(TYPE.ERREUR(B2)=7;"Non trouvé"; TYPE.ERREUR(B2)=2;"Division nulle"; VRAI;"Erreur"); B2)Performance : Teste toujours avec ESTERREUR AVANT d'appeler TYPE.ERREUR. Sinon, TYPE.ERREUR sera appelée même sur les cellules sans erreur et retournera #N/A, ce qui ralentit le calcul et pollue ton fichier.
Exemple 3 – 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 (#N/A, #DIV/0!, #REF!, etc.) 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.
SOMMEPROD compte uniquement les erreurs #N/A (code 7) dans toute la colonne de données.
| A | B | C | |
|---|---|---|---|
| 1 | Type d'erreur | Nombre | Formule utilisée |
| 2 | #N/A (clients non trouvés) | 12 | =SOMMEPROD((TYPE.ERREUR...)=7)*1) |
| 3 | #DIV/0! (divisions nulles) | 5 | =SOMMEPROD((TYPE.ERREUR...)=2)*1) |
| 4 | #REF! (références cassées) | 3 | =SOMMEPROD((TYPE.ERREUR...)=4)*1) |
| 5 | Toutes erreurs confondues | 20 | =SOMMEPROD(ESTERREUR(...)*1) |
=SOMMEPROD((TYPE.ERREUR(Données!A:A)=7)*1)Pour compter les #DIV/0! (division par zéro) :
=SOMMEPROD((TYPE.ERREUR(A:A)=2)*1)Pour compter les #REF! (références cassées) :
=SOMMEPROD((TYPE.ERREUR(A:A)=4)*1)Pour compter TOUTES les erreurs (plus rapide) :
=SOMMEPROD(ESTERREUR(A:A)*1)Tableau de bord qualité : Crée un graphique dynamique qui affiche le nombre d'erreurs par type. Cela permet de visualiser en un coup d'œil les problèmes récurrents et de mesurer l'évolution de la qualité de tes données au fil du temps.
Exemple 4 – 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.
Un assistant intelligent qui détecte le type d'erreur et propose une solution adaptée pour chaque cas.
| 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. Ajoutez une condition SI";"Impossible d'additionner texte et nombre. Utilisez &";"La feuille ou plage référencée n'existe plus";"Fonction mal orthographiée";"Nombre invalide";"Vérifiez que la valeur existe dans la 1ère colonne";"Erreur données");"OK")Outil métier puissant : Crée une colonne "Diagnostic" dans tous tes fichiers métier qui utilise TYPE.ERREUR + CHOISIR pour afficher automatiquement la cause et la solution de chaque erreur. Tes collègues pourront résoudre 80% des problèmes sans ton aide !
Tableau comparatif : Fonctions de gestion d'erreur
| 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 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 |
Choix de la bonne fonction : Utilise TYPE.ERREUR quand tu dois traiter différemment chaque type d'erreur. Utilise ESTERREUR pour des tests simples. Utilise SIERREUR pour masquer rapidement toutes les erreurs. Utilise SI.NON.DISP / ESTNA pour gérer spécifiquement les #N/A des RECHERCHEV.
Erreurs fréquentes et pièges à éviter
TYPE.ERREUR retourne elle-même #N/A
Si tu appliques TYPE.ERREUR à une cellule qui ne contient PAS d'erreur, la fonction retourne #N/A au lieu d'un numéro. C'est le piège le plus fréquent pour les débutants ! Tu penses tester une erreur mais tu en crées une nouvelle.
❌ Problème : =TYPE.ERREUR(A1) où A1 contient "Bonjour" → retourne #N/A
✅ Solution : =SI(ESTERREUR(A1);TYPE.ERREUR(A1);"Pas d'erreur") ou =SIERREUR(TYPE.ERREUR(A1);"OK")
Utilisation inutile pour gérer #N/A uniquement
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. Réserve TYPE.ERREUR aux cas où tu dois vraiment distinguer plusieurs types d'erreurs.
❌ Trop complexe : =SI(ESTERREUR(A1);SI(TYPE.ERREUR(A1)=7;"Non trouvé";A1);A1)
✅ Plus simple : =SI.NON.DISP(A1;"Non trouvé") ou =SI(ESTNA(A1);"Non trouvé";A1)
Confusion avec la fonction TYPE
TYPE (sans .ERREUR) retourne 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. Ne confonds pas ces deux fonctions !
=TYPE(A1) → retourne 1 si A1 contient 100 (c'est un nombre)
=TYPE.ERREUR(A1) → retourne 7 si A1 contient #N/A (c'est une erreur)
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 auras 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.
Questions fréquentes
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 retourne 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.
Fonctions similaires et complémentaires
Deviens un expert Excel en gestion d'erreurs
Rejoins Le Dojo Club pour maîtriser TYPE.ERREUR et toutes les techniques avancées de diagnostic et débogage Excel. Formations complètes, lives experts et communauté d'entraide.
Essayer pendant 30 jours