Qu'est-ce que la fonction HEXDEC ?
La fonction HEXDEC (HEX2DEC en anglais) convertit un nombre hexadécimal en son équivalent décimal. Si tu bosses dans le développement web, l'administration réseau, la cybersécurité ou l'IoT, elle va devenir ton alliée : elle te permet de décoder en un instant les codes couleurs HTML, les adresses MAC, les codes d'erreur système ou les données de protocoles techniques.
L'hexadécimal utilise 16 symboles (les chiffres 0-9 et les lettres A à F, où A=10 et F=15) et est omniprésent en informatique parce qu'un chiffre hex représente exactement 4 bits binaires. Combinée avec STXT, DROITE ou SUBSTITUE, HEXDEC te permet de traiter des données brutes que tu ne pourrais pas exploiter autrement dans Excel.
Syntaxe
=HEXDEC(nombre)Clique sur un argument pour aller à son explication.
Les lettres A-F ne sont pas sensibles à la casse : "FF", "ff" et "Ff" donnent tous 255. Les préfixes courants comme 0x (C/JavaScript) ou # (HTML) ne sont pas acceptés et doivent être retirés avant conversion.

Comprendre chaque paramètre de la fonction HEXDEC
nombre
: la valeur hexadécimale à convertir, fournie sous forme de texte entre guillemets (`"FF"`), ou comme référence à une cellule contenant une valeur hexadécimaleLe nombre peut contenir jusqu'à 10 caractères parmi 0-9 et A-F (ou a-f).
Sur 10 caractères, le bit de poids fort sert de bit de signe : la valeur maximale positive est donc 7FFFFFFFFF, soit 549 755 813 887 en décimal, et la plage complète va de 8000000000 (-549 755 813 888) à 7FFFFFFFFF. Si tes données contiennent des préfixes (0x, #, &H), tu dois les retirer avec SUBSTITUE ou DROITE avant d'appeler HEXDEC.

Exemples pratiques pas à pas
Comment convertir le canal rouge d'un code couleur en décimal avec les fonctions HEXDEC et STXT
Ton client t'envoie sa charte graphique avec des codes couleurs en hexadécimal, mais l'outil de design dans lequel tu dois les charger n'accepte que des valeurs RGB comprises entre 0 et 255. Recopier cinquante teintes à la main dans un convertisseur en ligne prendrait l'après-midi et laisserait passer des fautes de frappe. La fonction HEXDEC ramène chaque paire de caractères à son équivalent décimal, à condition de lui présenter la paire toute seule.
- 1Dans une cellule, écris
=HEXDEC(. - 2En 1er argument : écris la fonction qui isole la paire de caractères à convertir et referme-la,
STXT(A2; 2; 2). Elle prélève deux caractères dansA2à partir de la deuxième position, soitFF, l'octet du canal rouge situé juste après le dièse que la fonction HEXDEC n'accepte pas. Décale ce point de départ à4pour lire le vert et à6pour le bleu. - 3Ferme la parenthèse de la fonction HEXDEC et appuie sur Entrée. Celle de la fonction STXT a déjà été refermée à l'étape précédente.
=HEXDEC(STXT(A2; 2; 2))FF vaut 15 × 16 + 15, soit 255, le maximum d'un canal sur un octet. La ligne #3366CC rend 51 pour son 33, et #00AA55 retombe à 0, ce qui se vérifie d'un coup d'œil sur le code d'origine.Comment convertir un code d'erreur préfixé en 0x avec les fonctions HEXDEC, DROITE et NBCAR
Tes journaux d'incidents remontent des codes d'erreur Windows notés à la manière du C, avec un 0x collé devant. Ta base de connaissances, elle, les référence en décimal, et tant que les deux ne parlent pas la même langue, aucun incident ne se rapproche de sa cause connue. Le préfixe est le seul obstacle, et il fait toujours deux caractères.
- 1Dans une cellule, écris
=HEXDEC(. - 2En 1er argument : écris la fonction qui retire le préfixe et referme-la,
DROITE(A2; NBCAR(A2) - 2). Elle conserve toutA2sauf ses deux premiers caractères, le0xque la fonction HEXDEC refuse de convertir. En mesurant la longueur réelle avec NBCAR au lieu d'un nombre écrit en dur, elle tient aussi bien sur un code court que sur un code de huit caractères. - 3Ferme la parenthèse de la fonction HEXDEC et appuie sur Entrée. Celle de la fonction DROITE a déjà été refermée à l'étape précédente.
=HEXDEC(DROITE(A2; NBCAR(A2) - 2))C0000005 vaut 3 221 225 477 en décimal, exactement le nombre que ta base référence, et la même formule traite les quatre lignes sans que tu comptes quoi que ce soit à la main.Comment corriger l'erreur #NOMBRE! de la fonction HEXDEC
Tu regroupes des valeurs hexadécimales venues de trois exports différents et une ligne sur deux ressort en erreur. À l'écran, toutes se ressemblent, et c'est bien ce qui rend le diagnostic pénible : la cause est presque toujours un caractère que tu ne vois pas, ou une limite que tu ne soupçonnes pas.
- 1Dans une cellule, écris
=HEXDEC(. - 2En 1er argument : clique sur la cellule qui porte la valeur reçue de l'export,
A2. La fonction n'accepte que les chiffres0à9et les lettresAàF, en majuscules comme en minuscules, et rejette tout le reste par l'erreur#NOMBRE!. - 3Ferme la parenthèse et appuie sur Entrée.
=HEXDEC(A2)#NOMBRE!, pour quatre causes bien distinctes : un espace invisible, une lettre hors du jeu hexadécimal, un dièse de code couleur et une chaîne trop longue. La fonction ne dit jamais laquelle est en jeu, donc teste dans l'ordre le nettoyage des espaces, puis les caractères, puis la longueur.
Astuces avancées avec HEXDEC
Convertir un code couleur complet en valeurs RGB en une formule
Pour transformer #FF5733 en 255,87,51 directement : =HEXDEC(STXT(A1;2;2))&","&HEXDEC(STXT(A1;4;2))&","&HEXDEC(STXT(A1;6;2)). Les trois appels à HEXDEC extraient et convertissent chaque composante en une seule cellule.
Cette approche est particulièrement utile quand tu dois préparer une liste de couleurs pour un outil externe qui attend le format rgb(R,G,B).
Gérer les préfixes mixtes avec SUBSTITUE
Si tes données viennent de sources différentes (certaines avec 0x, d'autres avec #, d'autres sans préfixe), utilise une formule robuste qui nettoie tous les cas en une passe : =HEXDEC(SUBSTITUE(SUBSTITUE(A1;"0x";"");"#";"")).
Ainsi, peu importe le format d'origine, la conversion fonctionne sans avoir à traiter chaque source séparément.
Nettoyer les données avant conversion pour éviter les erreurs silencieuses
Les espaces invisibles (copier-coller depuis le web, exports de logs) causent des #NOMBRE! difficiles à diagnostiquer. Enveloppe systématiquement ta valeur dans SUPPRESPACE et EPURAGE : =HEXDEC(EPURAGE(SUPPRESPACE(A1))) élimine les espaces superflus et les caractères non imprimables avant conversion.
Si tu veux aussi retirer un préfixe en même temps, combine les deux : =HEXDEC(SUBSTITUE(SUPPRESPACE(A1);"0x";"")).

Les erreurs fréquentes avec la fonction HEXDEC
HEXDEC est pointilleuse sur ce qu'elle accepte : un seul caractère hors du jeu 0-9 et A-F, une chaîne qui dépasse 10 caractères, ou un préfixe oublié, et elle te renvoie #NOMBRE!. Comme tes valeurs hex viennent souvent d'un copier-coller depuis le web ou d'un export de logs, le coupable est presque toujours invisible : un espace, un 0x, un #. Avant de soupçonner la fonction, regarde ce qui colle vraiment à ta valeur.
Erreur #NOMBRE! : caractères non hexadécimaux dans la chaîne
HEXDEC n'accepte que les caractères 0-9 et A-F (ou a-f). Un caractère comme G, Z ou un espace dans la chaîne provoque immédiatement #NOMBRE!. Par exemple, =HEXDEC("G5") échoue car G n'existe pas en hexadécimal.
Solution : Vérifie que ta chaîne ne contient que des caractères valides. Pour les données importées, utilise SUPPRESPACE pour retirer les espaces et EPURAGE pour les caractères non imprimables : =HEXDEC(EPURAGE(SUPPRESPACE(A1))).
Erreur #NOMBRE! : chaîne trop longue
HEXDEC accepte au maximum 10 caractères hexadécimaux. Au-delà, Excel renvoie #NOMBRE!. Par exemple, =HEXDEC("FFFFFFFFFFF") (11 F) échoue.
Solution : Divise les très grandes valeurs en segments de 10 caractères maximum que tu traites séparément. Pour les valeurs réellement hors limites d'Excel, utilise un outil externe comme Python.
Préfixe non géré : la formule renvoie une erreur avec 0x, # ou &H
HEXDEC n'accepte pas les préfixes courants des langages et systèmes. 0x (C/JavaScript), # (HTML/CSS) et &H (VBA) provoquent tous une erreur si tu les laisses dans la chaîne.
Solution : Retire le préfixe avant la conversion. Pour 0x : =HEXDEC(DROITE(A1;NBCAR(A1)-2)). Pour # en HTML : =HEXDEC(STXT(A1;2;NBCAR(A1)-1)). Pour les sources mixtes : =HEXDEC(SUBSTITUE(SUBSTITUE(A1;"0x";"");"#";"")).
Résultat inattendu avec des espaces invisibles
Les espaces avant, après ou à l'intérieur du nombre hexadécimal causent des erreurs silencieuses ou des #NOMBRE!. Ils sont fréquents après des copier-coller depuis le web ou des exports de logs.
Solution : Enveloppe ta valeur avec SUPPRESPACE pour éliminer les espaces superflus : =HEXDEC(SUPPRESPACE(A1)). Combine avec EPURAGE pour les caractères non imprimables : =HEXDEC(EPURAGE(SUPPRESPACE(A1))).

HEXDEC vs DECHEX vs BINDEC vs OCTDEC
Excel propose plusieurs fonctions de conversion entre bases numériques. HEXDEC est la plus utilisée pour les contextes web et réseau, mais les autres couvrent des besoins spécifiques.
| Critère | HEXDEC | DECHEX | BINDEC | OCTDEC |
|---|---|---|---|---|
| Conversion | Hex vers décimal | Décimal vers hex | Binaire vers décimal | Octal vers décimal |
| Cas d'usage principal | Codes couleurs, adresses MAC | Générer des codes, debugging | Calculs binaires, masques réseau | Permissions Unix/Linux |
| Limite | 10 caractères hex | 549 755 813 887 | 10 bits | 10 caractères oct |
Questions fréquentes
Il n'y a aucune différence fonctionnelle. HEX2DEC est le nom anglais de la fonction, HEXDEC est le nom utilisé dans les versions françaises d'Excel. Les deux effectuent exactement la même conversion d'hexadécimal vers décimal.
L'hexadécimal est compact et pratique pour représenter de grandes valeurs binaires. Un chiffre hexadécimal représente exactement 4 bits binaires, ce qui facilite les conversions.
C'est pourquoi on l'utilise pour les adresses mémoire, les codes couleurs RGB, les adresses MAC et les identifiants système : FF est bien plus lisible que 11111111 en binaire.
Pour un code comme #FF5733, tu dois extraire et convertir chaque paire de caractères. =HEXDEC("FF") donne 255 (rouge), =HEXDEC("57") donne 87 (vert), =HEXDEC("33") donne 51 (bleu).
Avec STXT pour automatiser l'extraction depuis la cellule A1 : rouge = =HEXDEC(STXT(A1;2;2)), vert = =HEXDEC(STXT(A1;4;2)), bleu = =HEXDEC(STXT(A1;6;2)).
Oui, elle les gère nativement en complément à deux. Sur une valeur de 10 caractères, le bit de poids fort est le bit de signe : dès que la chaîne commence par 8 à F, le résultat est négatif. Ainsi =HEXDEC("FFFFFFFFFF") retourne -1 et =HEXDEC("FFFFFFFFFE") retourne -2.
Pour les valeurs de moins de 10 caractères, tous les résultats sont positifs, ce qui couvre la grande majorité des usages (codes couleurs, adresses réseau, codes d'erreur).
La fonction accepte jusqu'à 10 caractères hexadécimaux, et la valeur maximale positive est 7FFFFFFFFF. Cela correspond à 549 755 813 887 en décimal.
Au-delà de 7FFFFFFFFF, le complément à deux prend le relais et les valeurs ressortent négatives, jusqu'à 8000000000 qui vaut -549 755 813 888. Si tu dépasses 10 caractères, Excel retourne une erreur #NOMBRE! et tu dois traiter les segments séparément ou utiliser un outil externe.
Pour aller plus loin
Continue sur ta lancée après la fonction HEXDEC : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



