HEXOCT convertit un nombre hexadécimal (base 16) en son équivalent octal (base 8) en un instant. Tu travailles avec des valeurs hex issues d'une documentation technique et tu dois les passer à une commande système UNIX ? Cette fonction fait le pont entre les deux notations sans passer par le décimal intermédiaire.
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 de la fonction HEXOCT
=HEXOCT(nombre; [nb_caractères])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.
Astuce : Pour forcer un affichage sur 4 chiffres : =HEXOCT("A"; 4) retourne "0012" au lieu de "12". Très pratique pour aligner les résultats d'un tableau de correspondance.
Exemples pratiques pas à pas
Admin système : calculer les permissions chmod
Tu es administrateur système et tu lis une documentation technique qui exprime les permissions de fichiers en hexadécimal. Tu dois les convertir en octal pour utiliser la commande chmod sur tes serveurs UNIX ou Linux.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Description | Hex | Formule | Octal (chmod) |
| 2 | Lecture seule | 124 | =HEXOCT(B2) | 444 |
| 3 | Standard fichier | 1A4 | =HEXOCT(B3) | 644 |
| 4 | Exécutable | 1ED | =HEXOCT(B4) | 755 |
| 5 | Tous droits | 1FF | =HEXOCT(B5) | 777 |
=HEXOCT("1ED")La fonction convertit chaque valeur hexadécimale en octal en une seule étape, sans passer par le décimal. Ainsi 1ED (hex) donne 755 (octal), directement utilisable dans la commande chmod 755 mon-fichier. Tu évites tout calcul intermédiaire et toute erreur de conversion manuelle.
Astuce de pro : En octal, chaque chiffre représente 3 bits de permissions : 4 = lecture (r), 2 = écriture (w), 1 = exécution (x). Donc 7 = rwx (4+2+1), 5 = r-x (4+1), 4 = r-- (4 seul).
Développeur embarqué : convertir des adresses de ports E/S
Tu es développeur embarqué et tu travailles avec une documentation ancienne qui référence les adresses de ports d'entrée/sortie en octal, tandis que les spécifications modernes les donnent en hexadécimal. Tu dois traduire une liste complète d'adresses.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Port | Adresse Hex | Formule | Adresse Octale |
| 2 | COM1 | 3F8 | =HEXOCT(B2) | 1770 |
| 3 | COM2 | 2F8 | =HEXOCT(B3) | 1370 |
| 4 | Clavier | 60 | =HEXOCT(B4) | 140 |
| 5 | Timer | 40 | =HEXOCT(B5) | 100 |
=HEXOCT("3F8")Ici, la fonction convertit chaque adresse en une seule opération : l'adresse 3F8 du port COM1 correspond à 1770 en octal. Tu peux ensuite recopier la formule sur toute la colonne pour traiter l'ensemble de la table de ports sans risque d'erreur.
Étudiant informatique : table de correspondance entre bases
Tu es étudiant en informatique et tu construis un tableau de référence pour apprendre les conversions entre bases numériques. Tu veux voir côte à côte les représentations décimale, hexadécimale et octale des mêmes valeurs.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Décimal | Hexadécimal | Formule | Octal |
| 2 | 10 | A | =HEXOCT(B2) | 12 |
| 3 | 15 | F | =HEXOCT(B3) | 17 |
| 4 | 16 | 10 | =HEXOCT(B4) | 20 |
| 5 | 255 | FF | =HEXOCT(B5) | 377 |
=HEXOCT("FF")Ici, la fonction complète automatiquement la colonne Octal à partir des valeurs hex. Tu remarques que 0-7 sont identiques en hexadécimal et octal, mais qu'à partir de 8 les représentations divergent. La valeur FF (hex) donne 377 (octal), ce qui correspond bien à 255 en décimal (3×64 + 7×8 + 7).
Astuce de pro : HEXOCT effectue la conversion directement hex → octal, sans passer par le décimal. Manuellement, tu devrais d'abord faire hex → décimal, puis décimal → octal. HEXOCT te fait gagner une étape et évite les erreurs de calcul intermédiaire.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 sur la fonction HEXOCT
Pourquoi utiliser l'octal plutôt que l'hexadécimal ?
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.
Comment HEXOCT gère-t-il les nombres négatifs ?
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.
HEXOCT est-elle sensible à la casse ?
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.
Quelle est la différence entre HEXOCT et une conversion manuelle ?
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.
Puis-je utiliser HEXOCT dans Google Sheets ?
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
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
