Aller au contenu principal

Qu'est-ce que la fonction TYPE ?

Définition
La fonction TYPE retourne un code numérique indiquant le type de données d'une valeur : 1 pour un nombre, 2 pour du texte, 4 pour une valeur logique (VRAI/FAUX), 16 pour une erreur, 64 pour un tableau.

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.

Syntaxe

=TYPE(valeur)

Clique sur un argument pour aller à son explication.

TYPE retourne 1 pour les cellules vides (Excel les traite comme des zéros). Pour tester si une cellule est vide, utilise ESTVIDE() à la place.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction TYPE

1

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.

Le combo gagnant
Marie TYPE avec CHOISIR pour transformer les codes en messages lisibles : CHOISIR(TYPE(A1); « Nombre »; « Texte »; « »; « Logique ») affiche un mot parlant à la place des codes 1, 2 ou 4. Bien plus clair pour l'utilisateur qui lit ton tableau.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =TYPE(.
  2. 2
    En 1er argument : clique sur la cellule qui porte le prix à vérifier, B2. Elle affiche 29,9 sur 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.
  3. 3
    Ferme 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.
Au final, ta formule devrait ressembler à ça :=TYPE(B2)
Explication
La fonction TYPE ne lit pas ce que la cellule affiche, mais ce qu'Excel a réellement stocké dedans, et elle en renvoie le code : 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.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris la comparaison qui départage les erreurs du reste, TYPE(C2)=16. La fonction TYPE rend un code pour la croissance de C2, et 16 est celui qu'elle réserve à toutes les erreurs Excel, #DIV/0! comme #N/A. La comparaison répond alors VRAI sur les seules cellules fautives.
  3. 3
    En 2ᵉ argument : saisis ce que la formule affiche quand le test est vrai, "Erreur" entre guillemets puisque c'est du texte.
  4. 4
    En 3ᵉ argument : saisis le texte affiché quand le test est faux, "OK", qui couvre toutes les lignes sans erreur.
  5. 5
    Ferme la parenthèse et appuie sur Entrée, puis recopie la colonne Contrôle vers le bas pour passer le tableau entier au crible.
Voici la formule que tu obtiens à la fin :=SI(TYPE(C2)=16; "Erreur"; "OK")
Explication
Le code 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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIR(.
  2. 2
    En 1er argument : écris le code de nature à traduire et referme-le, TYPE(B2). La fonction TYPE lit le budget 1 250 de la première ligne et rend 1, un nombre qui va servir de rang dans la liste de libellés qui suit.
  3. 3
    En 2ᵉ argument : saisis le libellé rangé en position 1, "Nombre". C'est lui qui s'affiche quand la fonction TYPE a rendu 1, le code d'un nombre.
  4. 4
    En 3ᵉ argument : saisis le libellé de la position 2, "Texte". Il répond au code 2, que la fonction TYPE attribue au texte.
  5. 5
    En 4ᵉ argument : saisis "" pour la position 3. La fonction TYPE ne rend jamais ce code 3, mais la place doit rester tenue pour que les rangs suivants tombent juste.
  6. 6
    En 5ᵉ argument : saisis le libellé de la position 4, "Logique". Il correspond au code 4, que la fonction TYPE donne à une valeur VRAI ou FAUX.
  7. 7
    En 6ᵉ argument : saisis "" pour la position 5, un rang que la fonction TYPE ne produit jamais et qui ne fait que rapprocher le compte de 16.
  8. 8
    En 7ᵉ argument : saisis "" pour la position 6, encore un cran que la fonction TYPE n'emprunte pas.
  9. 9
    En 8ᵉ argument : saisis "" pour la position 7, toujours dans la zone de codes que la fonction TYPE laisse inutilisée.
  10. 10
    En 9ᵉ argument : saisis "" pour la position 8, une place gardée sans texte à afficher.
  11. 11
    En 10ᵉ argument : saisis "" pour la position 9, un rang vide de plus sur le chemin du 16.
  12. 12
    En 11ᵉ argument : saisis "" pour la position 10, que la fonction TYPE ne renvoie pas davantage.
  13. 13
    En 12ᵉ argument : saisis "" pour la position 11, encore réservée au seul comptage.
  14. 14
    En 13ᵉ argument : saisis "" pour la position 12, sans libellé à lui donner.
  15. 15
    En 14ᵉ argument : saisis "" pour la position 13, toujours muette côté affichage.
  16. 16
    En 15ᵉ argument : saisis "" pour la position 14, l'avant-dernier rang laissé vide.
  17. 17
    En 16ᵉ argument : saisis "" pour la position 15, le dernier trou avant le libellé d'erreur.
  18. 18
    En 17ᵉ argument : saisis le libellé de la position 16, "Erreur". Il répond au code 16, que la fonction TYPE réserve à toutes les erreurs Excel, et c'est lui qui sort pour la marge en #DIV/0!.
  19. 19
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=CHOISIR(TYPE(B2); "Nombre"; "Texte"; ""; "Logique"; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; "Erreur")
Explication
La fonction CHOISIR pioche dans sa liste à la position que la fonction TYPE lui souffle. Le budget 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.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

L’erreur fatale
TYPE juge une cellule vide comme un nombre : TYPE(A1) renvoie 1 même si A1 est vide, parce qu'Excel la lit comme un zéro. Pour vraiment tester le vide, c'est ESTVIDE qu'il te faut, pas TYPE.
Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreTYPEESTNUMESTVIDEESTERREUR
Type de retourCode numérique (1-128)VRAI/FAUXVRAI/FAUXVRAI/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 principalIdentifier tous typesTest simple nombreTest cellule videGestion d'erreurs
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec TYPE

1Astuce

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.

2Astuce

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.

3Astuce

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.

FAQ

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.

Ressources

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