Tu travailles avec des notations UNIX en octal et tu dois les traduire en hexadécimal pour du code moderne ? La fonction OCTHEX convertit un nombre en base 8 vers la base 16 en une seule formule.
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.
Syntaxe de la fonction OCTHEX
=OCTHEX(nombre; [nb_caractères])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.
Astuce : Pour formater des codes couleur HTML (6 caractères) ou des adresses mémoire uniformes, utilise nb_caractères = 4, 6 ou 8 selon ton besoin. Si le résultat a naturellement plus de caractères que nb_caractères, Excel retourne #NOMBRE!.
Pas envie d'écrire la formule OCTHEX à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Développeur : convertir des permissions chmod pour une API
Tu es développeur et tu travailles avec une API qui attend les permissions de fichiers en hexadécimal (comme certaines API Windows). Tu dois convertir les valeurs chmod UNIX classiques que tu connais en octal.
| A | B | C | |
|---|---|---|---|
| 1 | Description | chmod (octal) | Hex |
| 2 | Standard fichier | 644 | 1A4 |
| 3 | Exécutable | 755 | 1ED |
| 4 | Tous droits | 777 | 1FF |
| 5 | Privé | 700 | 1C0 |
=OCTHEX(755)La fonction retourne "1ED", que tu peux préfixer avec 0x pour du code C ou JavaScript. Pour traiter toute une colonne de permissions, copie la formule sur chaque ligne en remplaçant la valeur directe par une référence de cellule.
Astuce de pro : Pour utiliser le résultat directement dans du code, concatène le préfixe avec & : ="0x"&OCTHEX(B2). Le résultat "0x1ED" est directement exploitable en Python, C ou JavaScript.
Admin système : traduire des adresses de ports
Tu consultes une documentation ancienne qui référence des adresses de ports E/S en octal, et tu dois les transcrire en hexadécimal pour les outils modernes (débogueurs, pilotes, datasheets récents).
| A | B | C | |
|---|---|---|---|
| 1 | Composant | Adresse (octal) | Adresse (hex) |
| 2 | Port série COM1 | 770 | 1F8 |
| 3 | Clavier PS/2 | 140 | 60 |
| 4 | Timer système | 100 | 40 |
| 5 | PIC maître | 40 | 20 |
=OCTHEX(770)Le résultat "1F8" est l'adresse hexadécimale du port série COM1. Cette translation est purement mécanique : la fonction fait le calcul en une étape là où il faudrait sinon deux formules enchaînées (OCTDEC puis DECHEX).
Étudiant : créer une table de conversion formatée sur 4 caractères
Tu construis une table de référence de correspondance entre les bases pour un cours ou un document technique, et tu veux que toutes les valeurs hexadécimales soient alignées sur 4 caractères avec des zéros de tête.
| A | B | C | |
|---|---|---|---|
| 1 | Décimal | Octal | Hex formaté |
| 2 | 7 | 7 | 0007 |
| 3 | 15 | 17 | 000F |
| 4 | 64 | 100 | 0040 |
| 5 | 255 | 377 | 00FF |
=OCTHEX(377; 4)Le second paramètre force le padding à 4 caractères, d'où le résultat "00FF". Attention : si le résultat naturel dépasse nb_caractères (par exemple un format à 2 caractères pour une valeur qui en fait 3), Excel retourne #NOMBRE! au lieu de tronquer.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 sur la fonction OCTHEX
Pourquoi la conversion octal-hexadécimal n'est-elle pas directe ?
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.
Comment vérifier manuellement une conversion OCTHEX ?
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.
Quand utiliser OCTHEX plutôt que OCTDEC puis DECHEX ?
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.
Les nombres négatifs sont-ils supportés ?
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.
Le résultat est-il en majuscules ou minuscules ?
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.
OCTHEX fonctionne-t-il dans Google Sheets ?
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
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

