Qu'est-ce que la fonction BINHEX ?
BINHEX (BIN2HEX en anglais) te sert dès qu'un registre ou un octet binaire doit rejoindre une notation que tout le monde lit couramment en informatique : couleurs web, adresses mémoire, codes machine. Plus court à écrire, moins d'erreurs de saisie qu'une suite de 0 et de 1.
L'hexadécimal est omniprésent en informatique : couleurs web, adresses IP, codes machine. BINHEX te permet de jongler entre ces représentations directement dans Excel, sans conversion manuelle.
Syntaxe
=BINHEX(nombre; [nb_caractères])Clique sur un argument pour aller à son explication.
Excel traite les grands nombres binaires comme du texte. Pour des nombres sur 10 bits, le bit de gauche est le bit de signe (complément à deux) : un 1 en première position indique un nombre négatif.

Comprendre chaque paramètre de la fonction BINHEX
BINHEX prend ton nombre binaire en premier, et c'est le seul argument obligatoire. Le second, nb_caractères, sert juste à dire combien de chiffres tu veux à l'arrivée : tu peux l'omettre si tu te fiches de la longueur, mais dès que tu construis un code couleur ou que tu alignes des octets, c'est lui qui force le 00 à rester 00 au lieu de se réduire à 0.
nombre
: le nombre binaire à convertirIl ne peut contenir que les chiffres 0 et 1, et ne doit pas dépasser 10 caractères (10 bits).
Exemple : 1010 correspond à 10 en décimal et A en hexadécimal. Si tu dépasses 10 bits ou que tu saisis autre chose que des 0 et des 1, Excel renvoie #NOMBRE!.
[nb_caractères]
: le nombre de caractères du résultat(facultatif)Excel ajoute des zéros à gauche si le résultat naturel est plus court que cette valeur.
Si tu omets ce paramètre, Excel utilise le minimum de caractères nécessaires. Ce paramètre est utile pour forcer un format fixe, par exemple 2 caractères par composante dans un code couleur hexadécimal.
Attention : Si nb_caractères est trop petit pour contenir le résultat, Excel renvoie #NOMBRE!. Augmente la valeur ou omets simplement ce paramètre.

Exemples pratiques pas à pas
Comment convertir un code binaire en hexadécimal avec la fonction BINHEX
Tu relèves les registres d'un microcontrôleur en binaire, mais la datasheet et le débogueur, eux, ne parlent qu'hexadécimal, et comparer huit 0 et 1 à un FF à l'oeil finit toujours mal. Ta colonne contient des codes comme 1010 ou 11001100, et tu veux leur écriture hexadécimale en face. La fonction BINHEX fait la traduction d'une base à l'autre et te rend une notation quatre fois plus courte.
- 1Dans une cellule, écris
=BINHEX(. - 2En 1er argument : clique sur la cellule qui contient le code binaire à traduire, ici
A2avec la chaîne1010. Elle ne doit contenir que des0et des1, et pas plus de dix chiffres, sinon la fonction renvoie#NOMBRE!au lieu du code hexadécimal. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour traiter les autres registres. La référence suit la ligne, si bien que chaque code binaire trouve son écriture hexadécimale en face de lui.
=BINHEX(A2)0-9 ou A-F : 1010 tient donc sur le seul caractère A. C'est ce rapport de 4 bits pour 1 caractère qui fait qu'un octet comme 11111111 se résume à FF.Comment forcer deux caractères par octet avec la fonction BINHEX
Tu rends une fiche technique où chaque registre doit apparaître sur deux caractères hexadécimaux, comme dans toutes les datasheets, mais tes petites valeurs sortent sur un seul caractère et la colonne part en dents de scie. Tu as les codes binaires d'un côté et tu veux une colonne parfaitement alignée de l'autre. La fonction BINHEX accepte justement un second argument pour imposer la largeur du résultat.
- 1Dans une cellule, écris
=BINHEX(. - 2En 1er argument : clique sur la cellule qui contient le code binaire du registre, ici
B2avec la chaîne11111111. La fonction BINHEX la lit de la même façon avec ou sans le réglage qui suit, seule la longueur du résultat change. - 3En 2ᵉ argument : saisis le nombre de caractères que doit occuper le résultat,
2. Deux caractères, c'est la largeur d'un octet en hexadécimal, et la fonction BINHEX complète par des zéros à gauche dès que la traduction est plus courte. Réclamer moins de caractères que le résultat n'en occupe renvoie en revanche une erreur. - 4Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Toute la colonne s'aligne alors sur deux caractères,
0Ccompris pour le dernier registre.
=BINHEX(B2; 2)1010 s'écrit 0A au lieu de A, 101 devient 05. Les octets déjà pleins comme 11111111 ne bougent pas, puisque FF occupe déjà les deux caractères demandés.
Les erreurs fréquentes avec la fonction BINHEX
Deux choses peuvent coincer avec BINHEX, et toutes deux renvoient le même code #NOMBRE!. Le premier cas : ton entrée n'est pas un vrai binaire, un chiffre autre que 0 ou 1 s'y est glissé, ou tu as dépassé les 10 bits autorisés. Le second : ton nb_caractères est trop petit pour loger le résultat, comme demander FF sur un seul caractère.
Nombre binaire trop long ou avec des caractères invalides
Quand le nombre contient autre chose que des 0 et des 1, ou dépasse 10 chiffres (1111111111 est le maximum), Excel ne peut pas effectuer la conversion.
Solution : Vérifie que ton nombre ne contient que des 0 et des 1, et qu'il ne dépasse pas 10 bits. Si ta source de données peut produire des valeurs non binaires, utilise =SIERREUR(BINHEX(A1); "Invalide") pour gérer proprement les cas incorrects.
Paramètre nb_caractères trop petit pour le résultat
Si nb_caractères est inférieur au nombre de caractères nécessaires pour afficher le résultat, Excel renvoie #NOMBRE!. Par exemple, BINHEX(11111111; 1) échoue car FF fait 2 caractères.
Solution : Augmente la valeur de nb_caractères ou omets-le complètement pour laisser Excel déterminer la longueur minimale. Pour les codes couleur, utilise toujours 2 ; pour les valeurs sur 10 bits, utilise au minimum 3.

BINHEX vs BINOCT vs BINDEC
Ces trois fonctions partent du même binaire, c'est la base d'arrivée qui change. Prends BINHEX dès que tu manipules des couleurs web ou des adresses mémoire, là où la notation 0-9 plus A-F est le standard. BINOCT te sert surtout pour les permissions Unix (le fameux chmod), et BINDEC quand tu veux juste relire ton nombre en décimal pour un calcul ou un affichage normal.
| Critère | BINHEX | BINOCT | BINDEC |
|---|---|---|---|
| Base de sortie | Hexadécimal (base 16) | Octal (base 8) | Décimal (base 10) |
| Chiffres de sortie | 0-9 et A-F | 0-7 | 0-9 |
| Cas d'usage typique | Couleurs web, adresses mémoire | Permissions Unix (chmod), protocoles anciens | Calculs courants, affichage |
| Limite en entrée | 10 bits max | 10 bits max | 10 bits max |
Questions fréquentes
En informatique, l'hexadécimal est beaucoup plus compact que le binaire : 4 bits binaires correspondent exactement à 1 chiffre hexadécimal. C'est pourquoi on l'utilise pour les adresses mémoire, les couleurs web (#FF0000), les adresses MAC et la documentation des systèmes embarqués. La lecture est plus rapide et les erreurs de saisie moins fréquentes.
BINHEX accepte des nombres binaires jusqu'à 10 chiffres (10 bits), mais le bit de gauche sert de bit de signe. La plus grande valeur positive est donc 0111111111, soit 511 en décimal et 1FF en hexadécimal. Attention : 1111111111 ne vaut pas 1023, car son premier bit à 1 fait basculer le nombre en négatif (complément à deux) : Excel le lit comme -1 et renvoie FFFFFFFFFF. Au-delà de 10 chiffres, la fonction renvoie #NOMBRE!.
Excel utilise la représentation en complément à deux sur 10 bits. Quand le bit le plus à gauche vaut 1, le nombre est interprété comme négatif. Par exemple, 1111111111 représente -1. Le résultat hexadécimal sera affiché en conséquence. Si tu travailles avec des valeurs négatives, assure-toi de bien comprendre la convention utilisée par ton système source.
Oui, Google Sheets supporte la conversion binaire vers hexadécimal via la fonction BIN2HEX, qui fonctionne avec la même syntaxe et les mêmes limites. Si tu partages des fichiers entre Excel et Google Sheets, la conversion se fait automatiquement.
Utilise le second paramètre nb_caractères. Par exemple, =BINHEX(1010; 4) renvoie 000A au lieu de A. C'est indispensable pour les codes couleur web (toujours 2 caractères par composante) ou pour aligner des colonnes de documentation technique.
Pour aller plus loin
Continue sur ta lancée après la fonction BINHEX : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



