Aller au contenu principal

Qu'est-ce que la fonction HEXDEC ?

Définition
La fonction HEXDEC convertit une valeur hexadécimale (base 16) en nombre décimal (base 10). Elle accepte jusqu'à 10 caractères hexadécimaux.

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.

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

Comprendre chaque paramètre de la fonction HEXDEC

1

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écimale

Le 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.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =HEXDEC(.
  2. 2
    En 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 dans A2 à partir de la deuxième position, soit FF, 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 à 4 pour lire le vert et à 6 pour le bleu.
  3. 3
    Ferme 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.
Au final, ta formule devrait ressembler à ça :=HEXDEC(STXT(A2; 2; 2))
Explication
Dans une paire hexadécimale, le premier caractère pèse seize fois le second, donc 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.
Exemple 2

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.

Les étapes
  1. 1
    Dans une cellule, écris =HEXDEC(.
  2. 2
    En 1er argument : écris la fonction qui retire le préfixe et referme-la, DROITE(A2; NBCAR(A2) - 2). Elle conserve tout A2 sauf ses deux premiers caractères, le 0x que 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.
  3. 3
    Ferme 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.
Voici la formule que tu obtiens à la fin :=HEXDEC(DROITE(A2; NBCAR(A2) - 2))
Explication
La fonction NBCAR mesure le code, DROITE en garde tout sauf les deux premiers caractères, et la fonction HEXDEC convertit ce qui reste. 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.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =HEXDEC(.
  2. 2
    En 1er argument : clique sur la cellule qui porte la valeur reçue de l'export, A2. La fonction n'accepte que les chiffres 0 à 9 et les lettres A à F, en majuscules comme en minuscules, et rejette tout le reste par l'erreur #NOMBRE!.
  3. 3
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=HEXDEC(A2)
Explication
Une seule erreur, #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.
Le combo gagnant
Associe HEXDEC à STXT pour décomposer un code couleur HTML en RGB : STXT isole chaque paire de caractères et HEXDEC la convertit. Avec =HEXDEC(STXT(A1;2;2)) tu obtiens le rouge, puis tu décales la position à 4 pour le vert et à 6 pour le bleu.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec HEXDEC

1Astuce

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).

2Astuce

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.

3Astuce

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";"")).

Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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))).

L’erreur fatale
HEXDEC refuse les préfixes courants : 0x du C ou du JavaScript, # du HTML, &H du VBA déclenchent tous une erreur. Retire-les avant conversion, par exemple avec SUBSTITUE, sinon ta formule bloque sur un caractère invisible.
Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreHEXDECDECHEXBINDECOCTDEC
ConversionHex vers décimalDécimal vers hexBinaire vers décimalOctal vers décimal
Cas d'usage principalCodes couleurs, adresses MACGénérer des codes, debuggingCalculs binaires, masques réseauPermissions Unix/Linux
Limite10 caractères hex549 755 813 88710 bits10 caractères oct
FAQ

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.

Ressources

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