Qu'est-ce que la fonction TYPE ?
Tu sors TYPE (TYPE en anglais aussi) quand une formule imbriquée te renvoie un résultat qui ne colle pas et que tu dois savoir précisément ce qu'Excel range dans chaque étape intermédiaire : un nombre, du texte, une erreur qu'un SIERREUR aurait masquée. C'est ton outil de diagnostic quand ESTNUM ou ESTERREUR ne répondent qu'à moitié à la question.
Concrètement, c'est elle qui te permet de valider automatiquement des imports de données avant traitement, de détecter les erreurs cachées dans un rapport de 12 filiales, de créer un système de contrôle qualité visuel pour les fichiers partagés, ou de déboguer des formules complexes en identifiant précisément où le type de données ne correspond pas à ce que tu attendais.

Comprendre chaque paramètre de la fonction TYPE
valeur
: la valeur ou la référence de cellule dont tu veux identifier le typeÇa peut être une valeur directe comme 100, une référence comme A1, ou même une formule comme SOMME(A1:A10). TYPE analyse le résultat final, pas la formule elle-même.
Si tu passes une plage multi-cellules comme A1:A10, TYPE retourne le code du type de la première cellule en haut à gauche de la plage. Pour analyser toute une colonne, copie la formule =TYPE(A1) sur chaque ligne ou, sous Excel 365, utilise =MAP(A1:A10; LAMBDA(x; TYPE(x))) pour un tableau dynamique.

Exemples pratiques pas à pas
Comment connaître le type d'une valeur avec la fonction TYPE
Tes tarifs arrivent chaque semaine de trois sources différentes, et une partie de la colonne refuse obstinément de s'additionner. Les prix sont pourtant bien alignés les uns sous les autres, et rien ne distingue à l'œil un vrai nombre d'un prix livré en texte par l'export. La fonction TYPE tranche pour toi : elle regarde la valeur telle qu'Excel la stocke et renvoie un code qui dit sa nature.
- 1Dans une cellule, écris
=TYPE(. - 2En 1er argument : clique sur la cellule qui porte le prix à vérifier,
B2. Elle affiche29,9sur la première ligne. Vise une cellule seule et non toute la colonne des prix d'un coup. Passée une plage, la fonction TYPE n'analyse que la valeur en haut à gauche et rend un code unique pour tout le lot. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Chaque ligne reçoit alors son propre code, et les prix arrivés en texte sautent aux yeux avec leur
2.
=TYPE(B2)1 pour un nombre, 2 pour du texte. Le prix 29,9 de la première ligne est bien un nombre, donc le code vaut 1. Sur les lignes où l'export a déposé les mots N/A ou Erreur à la place du prix, le code bascule à 2 et l'import fautif se repère d'un coup d'œil.Comment repérer une erreur dans une colonne avec la fonction TYPE
Le reporting consolidé part au comité dans une heure, et deux cellules de croissance affichent une erreur en plein milieu de la colonne. Tu as le chiffre d'affaires et la croissance de chaque filiale, et tu veux savoir lesquelles sont à reprendre sans relire toutes les lignes une par une. La fonction TYPE range les erreurs Excel dans un code à part, ce qui permet de les isoler avec un seul test.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la comparaison qui départage les erreurs du reste,
TYPE(C2)=16. La fonction TYPE rend un code pour la croissance deC2, et16est celui qu'elle réserve à toutes les erreurs Excel,#DIV/0!comme#N/A. La comparaison répond alorsVRAIsur les seules cellules fautives. - 3En 2ᵉ argument : saisis ce que la formule affiche quand le test est vrai,
"Erreur"entre guillemets puisque c'est du texte. - 4En 3ᵉ argument : saisis le texte affiché quand le test est faux,
"OK", qui couvre toutes les lignes sans erreur. - 5Ferme la parenthèse et appuie sur Entrée, puis recopie la colonne Contrôle vers le bas pour passer le tableau entier au crible.
=SI(TYPE(C2)=16; "Erreur"; "OK")16 est celui que la fonction TYPE attribue à n'importe quelle erreur Excel, #DIV/0! comme #N/A ou #VALEUR!. Sur la première ligne, la croissance de 12 % est un nombre (code 1), donc la colonne Contrôle affiche « OK ». Lyon et Lille tombent sur 16 et se signalent toutes seules avant l'envoi du reporting.Comment traduire le code de la fonction TYPE en texte lisible avec la fonction CHOISIR
Tu partages ton fichier de suivi avec toute l'équipe, et les codes 1, 2 ou 16 que renvoie la fonction TYPE ne parlent à personne d'autre que toi. Chaque champ du formulaire reçoit une valeur d'une nature différente, et tu veux que la colonne de contrôle affiche un mot compréhensible plutôt qu'un chiffre à décoder. La fonction CHOISIR sert alors de dictionnaire : elle va chercher le libellé qui correspond au code.
- 1Dans une cellule, écris
=CHOISIR(. - 2En 1er argument : écris le code de nature à traduire et referme-le,
TYPE(B2). La fonction TYPE lit le budget1 250de la première ligne et rend1, un nombre qui va servir de rang dans la liste de libellés qui suit. - 3En 2ᵉ argument : saisis le libellé rangé en position 1,
"Nombre". C'est lui qui s'affiche quand la fonction TYPE a rendu1, le code d'un nombre. - 4En 3ᵉ argument : saisis le libellé de la position 2,
"Texte". Il répond au code2, que la fonction TYPE attribue au texte. - 5En 4ᵉ argument : saisis
""pour la position 3. La fonction TYPE ne rend jamais ce code3, mais la place doit rester tenue pour que les rangs suivants tombent juste. - 6En 5ᵉ argument : saisis le libellé de la position 4,
"Logique". Il correspond au code4, que la fonction TYPE donne à une valeurVRAIouFAUX. - 7En 6ᵉ argument : saisis
""pour la position 5, un rang que la fonction TYPE ne produit jamais et qui ne fait que rapprocher le compte de16. - 8En 7ᵉ argument : saisis
""pour la position 6, encore un cran que la fonction TYPE n'emprunte pas. - 9En 8ᵉ argument : saisis
""pour la position 7, toujours dans la zone de codes que la fonction TYPE laisse inutilisée. - 10En 9ᵉ argument : saisis
""pour la position 8, une place gardée sans texte à afficher. - 11En 10ᵉ argument : saisis
""pour la position 9, un rang vide de plus sur le chemin du16. - 12En 11ᵉ argument : saisis
""pour la position 10, que la fonction TYPE ne renvoie pas davantage. - 13En 12ᵉ argument : saisis
""pour la position 11, encore réservée au seul comptage. - 14En 13ᵉ argument : saisis
""pour la position 12, sans libellé à lui donner. - 15En 14ᵉ argument : saisis
""pour la position 13, toujours muette côté affichage. - 16En 15ᵉ argument : saisis
""pour la position 14, l'avant-dernier rang laissé vide. - 17En 16ᵉ argument : saisis
""pour la position 15, le dernier trou avant le libellé d'erreur. - 18En 17ᵉ argument : saisis le libellé de la position 16,
"Erreur". Il répond au code16, que la fonction TYPE réserve à toutes les erreurs Excel, et c'est lui qui sort pour la marge en#DIV/0!. - 19Ferme la parenthèse et appuie sur Entrée.
=CHOISIR(TYPE(B2); "Nombre"; "Texte"; ""; "Logique"; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "Erreur")1 250 est un nombre (code 1), c'est donc le premier libellé qui s'affiche, tandis que la marge en #DIV/0! décroche le seizième. À noter que la fonction TYPE ne propage pas l'erreur : elle la qualifie, ce qui te permet de la nommer au lieu de la subir.
Les erreurs fréquentes avec la fonction TYPE
Avec TYPE, les couacs ne viennent presque jamais d'une faute de frappe : ils viennent de ce qu'Excel range dans la même case que toi mentalement. Le plus fréquent, c'est la cellule vide qui renvoie 1 (nombre) parce qu'Excel la lit comme un zéro, alors tu crois avoir détecté une valeur là où il n'y a rien.
Les autres pièges suivent la même logique : une date qui rend 1 au lieu d'un code « date », ou une plage A1:A10 dont seule la première cellule est analysée. Garde en tête que TYPE juge le résultat tel qu'Excel le voit, pas tel que tu l'imagines.
Utiliser TYPE pour détecter les cellules vides
=TYPE(A1) retourne 1 (nombre) même si A1 est vide. Excel considère une cellule vide comme ayant la valeur 0, donc TYPE retourne 1.
Solution : Utilise =ESTVIDE(A1) pour tester les cellules vides, ou =SI(A1=""; "Vide"; "Pleine"). TYPE n'est pas fait pour détecter les cellules vides.
Confondre TYPE avec ESTNUM dans les conditions
=SI(TYPE(A1); "OK"; "Erreur") affiche toujours « OK » car TYPE retourne toujours un nombre (1, 2, 4, 16…) et tout nombre différent de 0 est considéré comme VRAI par SI.
Solution : Écris =SI(TYPE(A1)=1; "Nombre"; "Autre") pour comparer le code retourné. Ou utilise directement =SI(ESTNUM(A1); "OK"; "Erreur") qui est plus lisible pour un test simple.
Oublier que les dates sont des nombres pour Excel
Tu veux identifier les cellules contenant des dates avec TYPE, mais tu obtiens 1 (nombre). Excel stocke les dates comme des nombres (nombre de jours depuis le 01/01/1900).
Solution : Pour identifier les dates, combine plusieurs tests : =ET(TYPE(A1)=1; A1>0; A1<2958466) (2958466 correspond au 31/12/9999). Vérifie aussi le format de cellule si tu as besoin d'une précision absolue.
Passer une plage entière à TYPE sans formule matricielle
=TYPE(A1:A10) ne retourne que le type de A1, pas un tableau des types de chaque cellule. TYPE analyse uniquement la première valeur d'une plage multi-cellules.
Solution : Copie =TYPE(A1) sur chaque ligne pour analyser chaque cellule. Sous Excel 365, utilise =MAP(A1:A10; LAMBDA(x; TYPE(x))) pour créer un tableau dynamique des types.

TYPE vs ESTNUM vs ESTVIDE vs ESTERREUR
Sors TYPE quand une seule cellule peut contenir plusieurs natures de données et que tu veux les distinguer d'un coup : son code numérique sépare nombre (1), texte (2), logique (4) et erreur (16), là où les fonctions EST… ne répondent que par VRAI/FAUX sur une seule question.
Si tu n'as qu'une question précise, prends la fonction dédiée : ESTNUM pour « est-ce un nombre ? », ESTERREUR pour piéger une erreur, et surtout ESTVIDE pour les cellules vides, que TYPE confond avec un nombre.
| Critère | TYPE | ESTNUM | ESTVIDE | ESTERREUR |
|---|---|---|---|---|
| Type de retour | Code numérique (1-128) | VRAI/FAUX | VRAI/FAUX | VRAI/FAUX |
| Détecte les nombres | ✅ Code 1 | ✅ VRAI si nombre | ❌ Non | ❌ Non |
| Détecte le texte | ✅ Code 2 | ❌ Retourne FAUX | ❌ Non | ❌ Non |
| Détecte les erreurs | ✅ Code 16 | ❌ Retourne FAUX | ❌ Non | ✅ VRAI si erreur |
| Détecte cellules vides | ❌ Retourne 1 (nombre) | ❌ Retourne FAUX | ✅ VRAI si vide | ❌ Non |
| Détecte VRAI/FAUX | ✅ Code 4 | ❌ Retourne FAUX | ❌ Non | ❌ Non |
| Cas d'usage principal | Identifier tous types | Test simple nombre | Test cellule vide | Gestion d'erreurs |

Astuces avancées avec TYPE
Créer un rapport de qualité de données automatique
Combine TYPE avec NB.SI pour compter combien de cellules de chaque type tu as dans une colonne : =NB.SI(D:D; 2) compte les textes, =NB.SI(D:D; 16) compte les erreurs. Applique =TYPE(A1) sur toute la colonne A dans une colonne auxiliaire, puis résume avec NB.SI.
En quelques secondes, tu sais combien de cellules sont dans le mauvais format avant même de lancer tes calculs.
Nettoyer automatiquement les imports de données
Crée une formule qui convertit selon le type détecté : =SI(TYPE(A1)=2; CNUM(A1); A1). Si la valeur est du texte (code 2), elle est convertie en nombre ; sinon la valeur d'origine est conservée.
Cette astuce est particulièrement efficace après un import CSV où les colonnes numériques arrivent parfois en format texte.
Déboguer une formule imbriquée étape par étape
Dans une formule imbriquée, crée des colonnes intermédiaires avec =TYPE(résultat_intermédiaire) pour chaque étape : tu vois immédiatement où le type de données ne correspond pas à ce que tu attends.
Bien plus rapide que d'ouvrir l'outil « Évaluer la formule » à chaque fois.
Questions fréquentes
TYPE retourne 6 codes différents : 1 pour un nombre (y compris les dates), 2 pour du texte, 4 pour une valeur logique (VRAI/FAUX), 16 pour une erreur (#DIV/0!, #N/A, etc.), 64 pour un tableau de valeurs, et 128 pour une valeur composée.
Ces codes te permettent d'identifier programmatiquement le type de données dans tes formules ou tes systèmes de validation.
Excel stocke les dates comme des nombres (le nombre de jours depuis le 1er janvier 1900). Pour Excel, une date n'est qu'un nombre avec un formatage spécial. TYPE retourne donc 1 car techniquement c'est un nombre. Pour détecter les dates, combine TYPE avec le format de cellule ou utilise des tests conditionnels sur la plage de valeurs numériques attendues.
TYPE ne détecte pas les cellules vides correctement : une cellule vide retourne 1 (nombre). Utilise plutôt ESTVIDE() qui retourne VRAI si la cellule est vide, FAUX sinon. C'est une erreur courante qui peut casser tes formules de validation si tu te bases sur TYPE pour détecter les cellules non renseignées.
Ça dépend de ce que tu veux faire. ESTNUM retourne VRAI/FAUX, parfait pour un test dans un SI. TYPE retourne le code 1, utile quand tu veux distinguer plusieurs types différents avec CHOISIR ou plusieurs SI. Pour un simple test « est-ce un nombre ? », ESTNUM est plus lisible. Pour un système qui gère plusieurs types à la fois, TYPE est plus puissant.
Oui. Si ta formule retourne #DIV/0!, #N/A, #VALEUR! ou toute autre erreur, TYPE retournera 16. C'est utile pour créer des systèmes de gestion d'erreurs personnalisés ou pour déboguer des fichiers complexes sans ouvrir manuellement chaque cellule.
Tu peux combiner TYPE avec SI pour afficher un message spécifique quand une erreur est détectée, au lieu d'utiliser SIERREUR qui masque toutes les erreurs sans distinction.
Pour aller plus loin
Continue sur ta lancée après la fonction TYPE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



