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 de la fonction HEXDEC
=HEXDEC(nombre)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).
La valeur maximale acceptée est FFFFFFFFFF, soit 1 099 511 627 775 en décimal. Au-delà, Excel retourne #NOMBRE!. Si tes données contiennent des préfixes (0x, #, &H), tu dois les retirer avec SUBSTITUE ou DROITE avant d'appeler HEXDEC.
Astuce : Pour convertir un code couleur HTML comme #FF5733, utilise =HEXDEC(STXT(A1;2;2)) pour la composante rouge, =HEXDEC(STXT(A1;4;2)) pour le vert, et =HEXDEC(STXT(A1;6;2)) pour le bleu. STXT extrait chaque paire de caractères en sautant le # initial.
Pas envie d'écrire la formule HEXDEC à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Designer web : extraire les valeurs RGB d'une palette de couleurs
Ton client t'a envoyé une charte graphique avec des codes couleurs en hexadécimal. Tu dois extraire les valeurs RGB (0-255) pour les utiliser dans un outil de design qui ne supporte que le format décimal.
| A | B | C | |
|---|---|---|---|
| 1 | Code couleur | Composante | Valeur RGB |
| 2 | #FF5733 | Rouge (FF) | 255 |
| 3 | #FF5733 | Vert (57) | 87 |
| 4 | #FF5733 | Bleu (33) | 51 |
=HEXDEC(STXT(A2;2;2))La formule combine HEXDEC et STXT : STXT extrait les 2 caractères de la composante rouge (positions 2-3, en sautant le #), puis HEXDEC les convertit en décimal. Il suffit de décaler la position de départ à 4 pour le vert et à 6 pour le bleu. Sur 50 couleurs à convertir, c'est une économie de temps considérable.
Admin réseau : analyser les adresses MAC des équipements
Tu dois analyser les adresses MAC de tes équipements réseau pour identifier les fabricants. Les trois premiers octets (OUI, Organizationally Unique Identifier) sont en hexadécimal et tu veux les convertir en décimal pour faire des comparaisons numériques.
| A | B | C | |
|---|---|---|---|
| 1 | Adresse MAC | Premier octet | Valeur décimale |
| 2 | 00:1A:2B:3C:4D:5E | 00 | 0 |
| 3 | DC:A6:32:F1:23:45 | DC | 220 |
| 4 | F8:FF:C2:11:22:33 | F8 | 248 |
=HEXDEC(GAUCHE(A2;2))La formule combine HEXDEC et GAUCHE : GAUCHE isole les deux premiers caractères de l'adresse MAC (le premier octet) et HEXDEC les convertit en décimal. Tu peux remplacer GAUCHE par STXT pour cibler n'importe quel octet, puis utiliser RECHERCHEV pour identifier automatiquement les fabricants depuis une table de référence.
Développeur IoT : décoder les trames de capteurs
Tes capteurs LoRaWAN envoient des données en hexadécimal. Tu dois convertir ces valeurs brutes pour afficher les températures réelles dans ton tableau de bord.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Trame brute | Valeur hex temp | Valeur décimale | Temp réelle (°C) |
| 2 | A1B2C3D4E5F6 | E5 | 229 | 22,9 |
| 3 | 11223344AA00 | AA | 170 | 17,0 |
| 4 | FFAA5511FF32 | FF | 255 | 25,5 |
=HEXDEC(STXT(A2;11;2))/10Ici, STXT extrait la température encodée sur 2 caractères aux positions 11-12 de la trame, HEXDEC la convertit en décimal, puis la division par 10 ramène la valeur en degrés Celsius. C'est une technique courante pour transmettre des décimales sans virgule flottante dans les protocoles IoT.
Ingénieur système : analyser les codes d'erreur Windows
Tu dois analyser des logs d'erreurs Windows qui contiennent des codes hexadécimaux avec le préfixe 0x. Pour les croiser avec ta base de connaissances, tu dois les convertir en décimal.
| A | B | C | |
|---|---|---|---|
| 1 | Code erreur hex | Code décimal | Type d'erreur |
| 2 | 0xC0000005 | 3221225477 | Access Violation |
| 3 | 0x80070005 | 2147942405 | Access Denied |
| 4 | 0x8007000E | 2147942414 | Out of Memory |
=HEXDEC(DROITE(A2;NBCAR(A2)-2))La formule combine HEXDEC, DROITE et NBCAR : DROITE retire automatiquement les 2 premiers caractères (0x) en s'appuyant sur la longueur totale, puis HEXDEC convertit le reste. Tu peux ensuite utiliser RECHERCHEV pour associer chaque code décimal à sa description dans ta documentation technique.
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";"")).
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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à (ou si la valeur convertie dépasse 1 099 511 627 775), 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 sur la fonction HEXDEC
Quelle est la différence entre HEXDEC et HEX2DEC ?
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.
Pourquoi utiliser l'hexadécimal en informatique ?
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.
Comment convertir un code couleur HTML vers RGB avec cette fonction ?
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)).
La fonction gère-t-elle les nombres négatifs ?
Non, elle ne gère pas directement les nombres négatifs. En hexadécimal, les nombres négatifs sont généralement représentés en complément à deux, ce qui nécessite une logique personnalisée pour interpréter les bits de signe.
Pour la grande majorité des usages (codes couleurs, adresses réseau, codes d'erreur), la question ne se pose pas.
Quelle est la valeur maximale que la fonction peut convertir ?
La fonction accepte jusqu'à 10 caractères hexadécimaux, soit une valeur maximale de FFFFFFFFFF. Cela correspond à 1 099 511 627 775 en décimal.
Au-delà de cette limite, Excel retourne une erreur #NOMBRE!. Pour des valeurs plus grandes, tu dois traiter les segments séparément ou utiliser un outil externe.
Pour aller plus loin
Les fonctions similaires : STXT, DROITE, NBCAR, SUBSTITUE, SUPPRESPACE
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

