Qu'est-ce que la fonction HEXOCT ?
HEXOCT t'évite de repasser par le décimal quand tu dois traduire une valeur hexadécimale de documentation technique vers l'octal attendu par une commande système UNIX. Elle fait le pont directement entre les deux notations, en un instant.
Concrètement, c'est elle qu'utilisent les administrateurs système pour traduire des permissions de fichiers d'un format hex vers la notation chmod, les développeurs embarqués pour adapter des adresses de ports documentées en hexadécimal vers les registres anciens en octal, et les étudiants en informatique pour construire des tables de correspondance entre bases numériques.
Syntaxe
=HEXOCT(nombre; [nb_caractères])Clique sur un argument pour aller à son explication.
Le bit de poids fort est le bit de signe. Les valeurs hexadécimales commençant par FFE0000000 à FFFFFFFFFF représentent des nombres négatifs en complément à deux sur 40 bits. Pour des conversions strictement positives, assure-toi que ta valeur ne dépasse pas 1FFFFFFF.

Comprendre chaque paramètre de la fonction HEXOCT
HEXOCT attend d'abord ta valeur hexadécimale, puis éventuellement le nombre de caractères du résultat. Ce second argument est facultatif : sans lui, Excel ajuste la longueur tout seul ; avec lui, il rembourre de zéros à gauche pour que tes octaux s'alignent sur une largeur fixe dans une colonne.
nombre
: le nombre hexadécimal à convertir en octalIl peut contenir jusqu'à 10 caractères (40 bits). Les caractères valides sont les chiffres 0-9 et les lettres A-F, en majuscules ou en minuscules : =HEXOCT("FF") et =HEXOCT("ff") donnent le même résultat.
Tu peux passer la valeur entre guillemets ("1ED") ou comme référence vers une cellule contenant une chaîne hexadécimale.
Attention : Tout caractère autre que 0-9 et A-F provoque une erreur #NOMBRE!. Vérifie que ta source ne contient pas de préfixe 0x ou d'espaces parasites.
[nb_caractères]
: le nombre de caractères du résultat octal(facultatif)HEXOCT ajoute des zéros à gauche pour atteindre cette longueur. Utile pour aligner une colonne de résultats sur une largeur fixe.
Si le résultat réel est plus long que nb_caractères, la fonction retourne #VALEUR!. Omets ce paramètre pour laisser Excel adapter automatiquement la longueur au résultat.

Exemples pratiques pas à pas
Comment convertir des permissions hexadécimales en octal avec la fonction HEXOCT
La documentation de l'outil que tu déploies liste les permissions de ses fichiers en hexadécimal, alors que la commande chmod ne comprend que l'octal. Entre les deux, la conversion à la main passe par le décimal et se trompe d'un chiffre sans prévenir, ce qui donne un fichier de secrets lisible par tout le serveur. La fonction HEXOCT fait le trajet d'un bloc, et tu recopies son résultat directement dans ta commande.
- 1Dans une cellule, écris
=HEXOCT(. - 2En 1er argument : clique sur la cellule qui contient la valeur hexadécimale,
B2. Elle affiche la permission1FF, telle que la documentation l'écrit, et la fonction lit aussi bien les majuscules que les minuscules. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour traduire chaque permission de la colonne.
=HEXOCT(B2)1FF vaut 511, et 511 s'écrit 777 en octal. Le reste de la colonne donne les permissions classiques d'un serveur, 755 pour un script exécutable et 644 pour un fichier de configuration ordinaire.Comment aligner des permissions sur quatre chiffres avec la fonction HEXOCT
Tu prépares un script de déploiement qui applique les permissions fichier par fichier, et sa convention impose la notation octale à quatre chiffres, celle où un zéro de tête précède le triplet habituel. Sur trois chiffres, ta colonne se lit mal et le script refuse la moitié des lignes. Tu veux que cette largeur soit garantie par la formule elle-même, pas par une mise en forme qui saute au premier copier-coller.
- 1Dans une cellule, écris
=HEXOCT(. - 2En 1er argument : clique sur la cellule qui contient la permission en hexadécimal,
B2. Elle vaut1EDpour le script de déploiement. - 3En 2ᵉ argument : saisis le nombre de caractères imposé au résultat,
4. La fonction complète alors l'octal avec des zéros à gauche jusqu'à cette largeur, ce qui transforme755en0755sans en changer la valeur. - 4Ferme la parenthèse et appuie sur Entrée.
=HEXOCT(B2; 4)1ED vaut toujours 755, et le 4 ajoute simplement le zéro de tête qui manquait. Attention au sens de cet argument, il impose un minimum et non un maximum : une largeur plus courte que le résultat ne le tronque pas, elle rend l'erreur #NOMBRE!.Comment corriger l'erreur #NOMBRE! de la fonction HEXOCT
Tu rassembles dans une seule feuille les permissions de plusieurs documentations et certaines lignes refusent de se convertir. Comme toutes les valeurs se ressemblent à l'écran, tu veux identifier la cause propre à chaque ligne avant de corriger l'ensemble.
- 1Dans une cellule, écris
=HEXOCT(. - 2En 1er argument : clique sur la cellule qui contient la valeur à convertir,
A2. Deux pièges se cachent dans cette colonne. LeGde1G4ne fait pas partie du jeu hexadécimal, et le0xde0x1FFest un préfixe de langage que la fonction ne reconnaît pas. - 3En 2ᵉ argument : clique sur la cellule qui fixe la largeur du résultat,
B2. La ligne1FFsur2renvoie#NOMBRE!parce que son résultat777réclame trois chiffres, et cette largeur reste un minimum à atteindre, jamais une troncature. - 4Ferme la parenthèse et appuie sur Entrée. Pour distinguer les deux familles de fautes, relance la conversion sans le second argument. Une valeur qui passe seule accuse la largeur, une valeur qui échoue encore accuse ses propres caractères.
=HEXOCT(A2; B2)#NOMBRE! ne distingue pas ses causes. Sur les lignes 1FF et 1ED, la valeur est parfaitement valide et c'est la largeur de 2 qui manque de place pour trois chiffres. Sur 1G4 et 0x1FF, c'est l'entrée elle-même qui n'est pas hexadécimale, et aucun réglage de largeur n'y changera quoi que ce soit.
Les erreurs fréquentes avec la fonction HEXOCT
Trois grains de sable enrayent HEXOCT, et ils viennent toujours de la donnée d'entrée. Un caractère qui n'est ni 0-9 ni A-F (un 0x collé devant, un espace, une lettre comme G) déclenche #NOMBRE!. Un nb_caractères trop court pour contenir le résultat sort #VALEUR!. Et une valeur très haute, à partir de FFE0000000, bascule en négatif à cause du complément à deux sur 40 bits.
Erreur #NOMBRE! – caractère hexadécimal invalide
Ta valeur contient un caractère non hexadécimal : lettre G à Z, espace, tiret, préfixe 0x, etc. Par exemple =HEXOCT("GG") échoue car G n'est pas un chiffre hexadécimal valide.
Solution : Vérifie que ta cellule source ne contient que les caractères 0-9 et A-F (ou a-f). Si tes données viennent d'une source externe avec un préfixe 0x, utilise =HEXOCT(STXT(A1;3;100)) pour supprimer le préfixe avant conversion.
Erreur #VALEUR! – résultat trop long pour nb_caractères
Le résultat octal est plus long que la valeur spécifiée dans nb_caractères. Par exemple, =HEXOCT("FF"; 2) échoue car FF → 377 fait 3 caractères, qui ne tiennent pas dans 2.
Solution : Augmente nb_caractères pour qu'il soit au moins aussi grand que la longueur du résultat, ou omets ce paramètre pour laisser Excel déterminer la longueur automatiquement.
Résultat négatif inattendu
Les grandes valeurs hexadécimales (à partir de FFE0000000) sont interprétées comme des nombres négatifs en complément à deux sur 40 bits, ce qui produit un résultat octal négatif.
Solution : Pour des conversions strictement positives, assure-toi que ta valeur hexadécimale ne dépasse pas 1FFFFFFF (environ 536 millions en décimal). Si ta valeur est plus grande, décompose la conversion par blocs.

HEXOCT vs HEXBIN vs HEXDEC vs OCTHEX
Le choix se joue sur la base d'arrivée. Garde HEXOCT quand tu vises de l'octal, typiquement des permissions Unix à passer à chmod. Prends HEXBIN si tu veux lire les bits un à un pour des flags, HEXDEC si la valeur doit retomber dans un calcul numérique classique, et OCTHEX pour faire le chemin inverse, de l'octal vers l'hexadécimal. À noter : HEXDEC est la seule des quatre à ne pas accepter d'argument de longueur.
| Critère | HEXOCT | HEXBIN | HEXDEC | OCTHEX |
|---|---|---|---|---|
| Conversion | Hexadécimal → Octal | Hexadécimal → Binaire | Hexadécimal → Décimal | Octal → Hexadécimal |
| Base source | Base 16 | Base 16 | Base 16 | Base 8 |
| Base cible | Base 8 | Base 2 | Base 10 | Base 16 |
| Paramètre longueur | Oui | Oui | Non | Oui |
| Cas d'usage typique | Permissions Unix (chmod) | Analyse de bits, flags | Calculs numériques | Inverse de HEXOCT |
Questions fréquentes
L'octal est historiquement lié aux systèmes UNIX car chaque chiffre octal représente exactement 3 bits, ce qui correspond parfaitement aux 3 bits de permissions (rwx) pour chaque catégorie d'utilisateurs (propriétaire, groupe, autres). Cette convention s'est maintenue dans des commandes comme chmod 755 que tout administrateur système utilise encore quotidiennement.
HEXOCT utilise le complément à deux sur 40 bits. Les valeurs hexadécimales commençant par FFE0000000 à FFFFFFFFFF représentent des nombres négatifs. Le bit le plus significatif joue le rôle de bit de signe.
Pour éviter toute surprise avec des négatifs, limite tes valeurs à 1FFFFFFF maximum.
Non, HEXOCT accepte les lettres en majuscules (A-F) comme en minuscules (a-f). Les deux formes =HEXOCT("FF") et =HEXOCT("ff") donnent le même résultat : 377. Cela facilite le copier-coller depuis différentes sources de données techniques.
HEXOCT effectue directement la conversion hex → octal sans passer par le décimal intermédiaire. Manuellement, tu devrais d'abord convertir hex → décimal puis décimal → octal, ce qui fait deux étapes avec des risques d'erreur à chaque fois. Pour des listes de valeurs, HEXOCT est bien plus rapide et se recopie en une seule formule sur toute la colonne.
Oui. Google Sheets supporte la même fonction avec la même syntaxe et les mêmes contraintes. Les résultats sont identiques à ceux d'Excel pour toutes les valeurs dans la plage valide.
Pour aller plus loin
Continue sur ta lancée après la fonction HEXOCT : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



