Qu'est-ce que la fonction OCTHEX ?
OCTHEX te sert quand tu dois traduire une notation héritée d'un système plus ancien vers un format que les outils actuels comprennent directement, sans passer par une étape de conversion intermédiaire ni te tromper de base. Une seule formule remplace le calcul manuel chiffre par chiffre, toujours source d'erreur sur les valeurs à plusieurs digits.
Cette conversion est essentielle pour les développeurs et administrateurs système qui jonglent entre les conventions UNIX traditionnelles (permissions en octal avec chmod) et les langages modernes qui préfèrent l'hexadécimal : Python, JavaScript, C avec le préfixe 0x. Elle sert aussi à traduire des adresses mémoire et des codes de configuration d'équipements anciens vers des formats lisibles par les outils actuels.

Comprendre chaque paramètre de la fonction OCTHEX
OCTHEX se lit dans l'ordre où tu travailles : d'abord le nombre octal à traduire, puis, si tu y tiens, le nombre de caractères que tu veux dans le résultat. Seul ce second argument est facultatif, et c'est lui qui te sert à aligner tes valeurs sur 4, 6 ou 8 digits avec des zéros de tête.
nombre
: le nombre octal à convertirIl ne peut contenir que les chiffres 0 à 7, sur 10 chiffres maximum. Le bit de poids fort représente le signe pour les nombres négatifs (complément à deux sur 30 bits).
Par exemple, "777" (511 en décimal) devient 1FF en hexadécimal, et "755" (493 en décimal) devient 1ED.
Attention : Les chiffres 8 et 9 n'existent pas en octal. Si ta valeur en contient, tu obtiendras l'erreur #NOMBRE!. Vérifie toujours que tes données sont bien en base 8 avant d'appeler OCTHEX.
[nb_caractères]
: le nombre de caractères souhaité dans le résultat hexadécimal(facultatif)Si ce paramètre est omis, OCTHEX utilise le minimum nécessaire pour représenter la valeur. Maximum 10 caractères.
Par exemple, =OCTHEX(17; 4) retourne "000F" au lieu de simplement "F". Ce formatage est utile pour aligner des adresses mémoire ou générer des codes couleur sur un nombre fixe de digits.

Exemples pratiques pas à pas
Comment convertir un code chmod octal en hexadécimal avec la fonction OCTHEX
L'API à laquelle tu envoies l'inventaire attend les droits de chaque fichier en hexadécimal, alors que tout ton parc les note en octal, 755 ou 644, comme le fait chmod depuis toujours. Tu as la colonne octale et tu veux la colonne hexadécimale en face, sans table de correspondance ni conversion à la main. La fonction OCTHEX fait le saut de la base 8 à la base 16 en une seule formule.
- 1Dans une cellule, écris
=OCTHEX(. - 2En 1er argument : clique sur la cellule qui contient le code octal à traduire,
B2avec755. La formule pointe la cellule plutôt que le nombre lui-même, si bien qu'une seule recopie convertit tout l'inventaire et que chaque ligne traduit son propre code. - 3Ferme la parenthèse et appuie sur Entrée.
=OCTHEX(B2)755 de la première ligne ressort 1ED, et le 600 de la cinquième ressort 180, un résultat qui se devine mal de tête. Les lettres reviennent toujours en majuscules.Comment produire une constante hexadécimale préfixée 0x avec la fonction OCTHEX
Tu dois recopier ces droits dans un fichier de configuration Python, et là-bas une valeur hexadécimale ne se lit pas toute nue : elle porte le préfixe 0x, sans lequel l'interpréteur la prendrait pour un nombre décimal. Tu veux une colonne prête à coller, pas une colonne à retoucher ligne par ligne. L'esperluette colle le préfixe devant le résultat de ta fonction OCTHEX.
- 1Dans une cellule, écris
=puis le préfixe entre guillemets,"0x". Les guillemets sont obligatoires pour qu'Excel garde ce texte tel quel au lieu d'y chercher un nom de plage. - 2Ajoute l'esperluette
&, l'opérateur qui colle deux morceaux de texte bout à bout. Elle n'effectue aucun calcul, elle assemble. - 3Écris
OCTHEX(puis clique sur la cellule du code octal,B2avec755. La fonction traduit755en1ED, et l'esperluette pose0xjuste devant. - 4Ferme la parenthèse et appuie sur Entrée.
="0x" & OCTHEX(B2)1ED et l'esperluette lui colle 0x devant, ce qui donne une constante que Python, C ou JavaScript acceptent telle quelle. Le 500 de la troisième ligne ressort 0x140, là où la lecture de tête partirait volontiers sur un 0x500.
Les erreurs fréquentes avec la fonction OCTHEX
Le #NOMBRE! est le seul vrai accroc d'OCTHEX, et il tombe pour deux raisons opposées : soit ton nombre contient un 8 ou un 9 qui n'existent pas en base 8, soit ton nb_caractères est trop court pour contenir le résultat (=OCTHEX(777; 2) ne peut pas loger 1FF en 2 caractères).
Le second cas n'est pas une panne mais un choix de format : les lettres reviennent toujours en majuscules, à toi de les repasser en minuscules si ton CSS l'exige.
Erreur #NOMBRE! sur un chiffre invalide
L'erreur #NOMBRE! apparaît quand le nombre octal contient les chiffres 8 ou 9 (qui n'existent pas en base 8), ou quand nb_caractères est insuffisant pour afficher le résultat. Par exemple, =OCTHEX(89) échoue car 8 et 9 ne sont pas des chiffres octaux, et =OCTHEX(777; 2) échoue car 1FF nécessite 3 caractères.
Solution : Vérifie que ta valeur ne contient que les chiffres 0 à 7. Pour le formatage, calcule d'abord la longueur naturelle du résultat avec =NBCAR(OCTHEX(nombre)) et assure-toi que nb_caractères est supérieur ou égal. Pour 777, utilise =OCTHEX(777; 4) qui retourne "01FF".
Le résultat est en majuscules alors qu'on attend des minuscules
Excel retourne toujours les lettres hexadécimales (A-F) en majuscules. Ce comportement est fixe et ne peut pas être configuré dans OCTHEX.
Solution : Entoure OCTHEX avec MINUSCULE pour obtenir des lettres en minuscules : =MINUSCULE(OCTHEX(777)) retourne "1ff". C'est le format standard pour les couleurs CSS et les URLs web.

OCTHEX vs OCTDEC + DECHEX vs OCTBIN + BINHEX
Prends OCTHEX dès que tu veux juste passer de l'octal à l'hexadécimal : une seule formule, pas de colonne intermédiaire, et moins de risque d'arrondi sur les grands nombres. Garde le duo OCTDEC + DECHEX uniquement si tu as aussi besoin de la valeur décimale au passage, et OCTBIN + BINHEX si c'est le binaire qui t'intéresse en route.
| Critère | OCTHEX | OCTDEC + DECHEX | OCTBIN + BINHEX |
|---|---|---|---|
| Étapes de conversion | 1 seule étape | 2 étapes enchaînées | 2 étapes enchaînées |
| Résultat | Hexadécimal direct | Passage par décimal | Passage par binaire |
| Précision sur grands nombres | Meilleure (conversion directe) | Risque arrondi intermédiaire | Bonne |
| Cas d'usage | Conversion directe oct->hex | Quand on a besoin du décimal aussi | Quand on a besoin du binaire aussi |
Questions fréquentes
Contrairement à octal-binaire (1 chiffre octal = 3 bits) ou hexadécimal-binaire (1 chiffre hex = 4 bits), il n'y a pas de correspondance simple entre octal et hexadécimal car 8 n'est pas une puissance de 16 et inversement. Excel passe par une représentation intermédiaire pour garantir la précision. C'est pourquoi une fonction dédiée comme OCTHEX est plus fiable que deux étapes manuelles.
Convertis d'abord l'octal en binaire (chaque chiffre = 3 bits), puis regroupe les bits par 4 depuis la droite et convertis chaque groupe en hexadécimal.
Par exemple : 755 octal = 111 101 101 binaire = 0001 1110 1101 = 1ED hex. C'est la même logique qu'Excel applique en interne.
OCTHEX est toujours préférable quand tu veux passer directement de l'octal à l'hexadécimal. C'est plus court, évite les erreurs d'arrondi potentielles sur les très grands nombres, et ne crée pas de colonne intermédiaire. Réserve la double étape OCTDEC puis DECHEX aux cas où tu as aussi besoin de la valeur décimale.
Oui, OCTHEX gère les nombres négatifs via le complément à deux sur 30 bits. Un nombre octal commençant par 4, 5, 6 ou 7 dans la position la plus significative (pour un nombre de 10 chiffres) représente une valeur négative. Le résultat hexadécimal sera alors sur 10 caractères.
Excel renvoie toujours les lettres hexadécimales (A-F) en majuscules. Si tu as besoin de minuscules pour un format spécifique (CSS, URL), utilise =MINUSCULE(OCTHEX(nombre)) pour obtenir le résultat en minuscules.
Non, OCTHEX n'existe pas dans Google Sheets. Pour une conversion octal-hexadécimal dans Google Sheets, tu dois passer par deux étapes : =DEC2HEX(OCT2DEC(nombre)) en utilisant les fonctions américaines disponibles dans Sheets.
Pour aller plus loin
Continue sur ta lancée après la fonction OCTHEX : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



