Aller au contenu principal

Qu'est-ce que la fonction BINDEC ?

Définition
La fonction BINDEC convertit un nombre binaire (en base 2, composé uniquement de 0 et 1) en son équivalent décimal (base 10). Elle accepte jusqu'à 10 caractères binaires et gère les nombres négatifs en notation de complément à deux.

BINDEC (BIN2DEC en anglais) te sert dès que tu dois relire un registre, une trame ou une valeur RGB codée en binaire sans reconstruire la conversion à la main, bit par bit. Cette fonction d'ingénierie est incontournable si tu travailles avec des données informatiques : masques de sous-réseau, registres de microcontrôleurs ou trames de protocoles série.

Elle élimine les conversions manuelles fastidieuses. Le binaire 1011 se transforme en 11 (8 + 0 + 2 + 1) en un seul appel, et tu peux l'appliquer sur toute une colonne avec une simple référence de cellule.

Syntaxe

=BINDEC(nombre)

Clique sur un argument pour aller à son explication.

BINDEC est limitée à 10 bits. Les nombres sur 10 bits dont le bit le plus à gauche est 1 sont interprétés comme négatifs en notation de complément à deux (plage : -512 à 511). Pour des nombres binaires de plus de 10 bits, tu dois créer une formule personnalisée avec PUISSANCE et SOMME.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction BINDEC

1

nombre

: le nombre binaire à convertir, exprimé comme une chaîne de 0 et de 1

Tu peux le saisir entre guillemets ("1011") ou référencer une cellule qui contient la valeur binaire.

La valeur peut contenir jusqu'à 10 caractères binaires. Tout caractère autre que 0 ou 1 provoque une erreur #NOMBRE!.

Attention : Sur 10 bits, tout nombre dont le bit de poids fort (le plus à gauche) est 1 est interprété comme négatif. Ainsi =BINDEC("1000000001") retourne -511 et non 513. Ce comportement suit la convention du complément à deux utilisée en informatique.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment convertir un code binaire en nombre décimal avec la fonction BINDEC

Un firmware te sort ses registres sous forme de codes binaires et tu dois les remettre en nombres pour les confronter aux valeurs de la datasheet. Ta colonne aligne des chaînes comme 1010 ou 11111111, et tu veux la valeur décimale en face de chacune. La fonction BINDEC lit chaque bit comme une puissance de 2 et te rend le nombre, sans aucune conversion à la main.

Les étapes
  1. 1
    Dans une cellule, écris =BINDEC(.
  2. 2
    En 1er argument : clique sur la cellule qui contient le code binaire à convertir, A2. Elle affiche la chaîne 1010, et pointer la cellule plutôt que retaper le code laisse la formule suivre chaque ligne du tableau. La fonction BINDEC n'accepte que des 0 et des 1, sur dix caractères au maximum.
  3. 3
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. La référence A2 se décale d'une ligne à chaque copie, si bien que chaque code reçoit sa propre valeur décimale.
Au final, ta formule devrait ressembler à ça :=BINDEC(A2)
Explication
La fonction BINDEC additionne les puissances de 2 des bits à 1, en partant de la droite : dans 1010, le deuxième et le quatrième bit sont actifs, soit 2 + 8. Le résultat est un vrai nombre et non du texte, donc il repart directement dans tes calculs.
Exemple 2

Comment lire un code binaire signé sur 10 bits avec la fonction BINDEC

Un capteur code ses écarts sur 10 bits signés et les valeurs que tu relis n'ont aucun sens : la moitié devrait être négative. Tu as les trames brutes en binaire et tu veux savoir ce qu'elles valent réellement. La fonction BINDEC applique d'elle-même la convention du complément à deux dès que la chaîne atteint 10 caractères, et te rend donc les valeurs négatives telles quelles.

Les étapes
  1. 1
    Dans une cellule, écris =BINDEC(.
  2. 2
    En 1er argument : clique sur la cellule qui contient la trame du capteur, A2. Elle affiche 1111111111, soit les dix caractères complets renvoyés par l'appareil. La fonction BINDEC ne prend rien d'autre, donc aucun réglage ne vient dire ici si la trame doit être lue comme signée.
  3. 3
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule sur les autres trames. La ligne 0111111111 ressort positive à 511 alors qu'elle occupe elle aussi dix caractères, parce qu'elle commence par 0.
Voici la formule que tu obtiens à la fin :=BINDEC(A2)
Explication
Ici, la fonction BINDEC voit une chaîne de 10 caractères qui commence par 1 et bascule en lecture signée (complément à deux) : 1111111111 ne vaut pas 1023 mais -1. La bascule ne dépend que du dixième caractère, puisque 0111111111 occupe toute la largeur mais commence par 0 et vaut bien 511.
Exemple 3

Comment gérer l'erreur #NOMBRE! de la fonction BINDEC avec SIERREUR

Un export t'a livré des trames binaires dont quelques-unes sont corrompues, et un #NOMBRE! s'affiche en plein milieu de ta colonne juste avant que tu transmettes le fichier. Tu veux que les trames valides se convertissent et que les autres portent une mention lisible plutôt qu'un code d'erreur. En imbriquant ta fonction BINDEC dans une fonction SIERREUR, tu choisis toi-même ce qui s'affiche quand la conversion échoue.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris la conversion à surveiller et referme-la, BINDEC(A2). C'est elle qui travaille tant que le code reçu tient en dix caractères faits de 0 et de 1. Elle refuse 1102 à cause du 2, et 11111111111 parce qu'il en compte onze.
  3. 3
    En 2ᵉ argument : saisis ce qui doit s'afficher quand la conversion échoue, "Code invalide". Les guillemets sont obligatoires pour qu'Excel reprenne cette mention telle quelle. Sans ce second argument, la colonne resterait piquée de #NOMBRE!.
  4. 4
    Ferme la parenthèse de la fonction SIERREUR et appuie sur Entrée. Celle de la fonction BINDEC a déjà été refermée au premier argument.
Une fois les morceaux assemblés, ta formule donne ça :=SIERREUR(BINDEC(A2); "Code invalide")
Explication
La fonction SIERREUR laisse passer le résultat de la fonction BINDEC quand la conversion aboutit, et n'intervient que si elle échoue. Un 2 glissé dans la chaîne ou une trame de 11 caractères déclenchent le même #NOMBRE!, remplacé ici par « Code invalide ».
Vrai ou faux ?
« Sur 10 bits, 1000000001 vaut 513. » Faux : dès qu'un binaire de 10 bits commence par 1, Excel lit ce premier bit comme un signe (complément à deux) et te renvoie -511, pas 513. Pour rester en non signé, ajoute 1024 au résultat quand il ressort négatif.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction BINDEC

BINDEC est pointilleuse sur ce qu'elle accepte : elle exige une chaîne faite uniquement de 0 et de 1, et pas plus de 10 caractères. Le moindre 2, lettre ou espace invisible venu d'un export déclenche un #NOMBRE!.

Le piège le plus sournois ne renvoie pourtant aucune erreur : sur 10 bits, un nombre qui commence par 1 ressort négatif (complément à deux). Tu attends 513, tu obtiens -511, et rien ne te prévient.

Erreur #NOMBRE! avec des caractères non binaires

=BINDEC("102") retourne #NOMBRE! car le chiffre 2 n'existe pas en binaire. BINDEC n'accepte que des 0 et des 1.

Solution : Vérifie que ta chaîne ne contient que des 0 et des 1. Si tes données proviennent d'un export, nettoie-les d'abord avec SUPPRESPACE pour éliminer les espaces invisibles, puis ajoute une validation pour rejeter les cellules non binaires.

Erreur #NOMBRE! avec plus de 10 caractères

=BINDEC("11111111111") (11 caractères) retourne #NOMBRE!. BINDEC est limitée à 10 bits maximum.

Solution : Pour des nombres binaires de plus de 10 bits, découpe la chaîne en segments de 10 bits et recompose manuellement avec PUISSANCE et SOMME. Il n'existe pas de contournement natif simple dans Excel pour les grands nombres binaires.

Erreur #NOMBRE! avec du texte non numérique

=BINDEC("ABC") retourne #NOMBRE! car la chaîne n'est pas un binaire valide : BINDEC n'accepte que des 0 et des 1. Une lettre, un espace ou tout autre caractère parasite venu d'un export déclenche la même erreur.

Solution : Assure-toi que la cellule source contient uniquement des chiffres 0 et 1. Pour les imports de données, ajoute =SIERREUR(BINDEC(A1); "") pour afficher une cellule vide en cas d'erreur plutôt que de bloquer tout le tableau.

Résultat négatif inattendu sur 10 bits

Tout nombre binaire de 10 bits commençant par 1 est interprété comme négatif. =BINDEC("1000000001") retourne -511 et non 513, car Excel applique la notation du complément à deux.

Solution : Si tu travailles avec des nombres non signés sur 10 bits (plage 0 à 1023), convertis manuellement : =SI(BINDEC(A1)<0; BINDEC(A1)+1024; BINDEC(A1)) annule l'interprétation signée.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

BINDEC vs BINHEX vs BINOCT vs DECBIN

Toutes partent d'un nombre binaire, mais elles ne visent pas la même base d'arrivée : prends BINDEC pour lire une valeur décimale (registres, octets d'une adresse IP), BINHEX pour basculer en hexadécimal (couleurs RGB, codes HTML) et BINOCT pour l'octal (permissions Unix de type chmod).

DECBIN est l'opération miroir : c'est elle qu'il te faut quand tu pars du décimal pour fabriquer un masque binaire, pas l'inverse.

CritèreBINDECBINHEXBINOCTDECBIN
Conversion effectuéeBinaire → DécimalBinaire → HexadécimalBinaire → OctalDécimal → Binaire
Base sourceBase 2Base 2Base 2Base 10
Base cibleBase 10Base 16Base 8Base 2
Limite de bits10 bits max10 bits max10 bits max-512 à 511
Usage typiqueLecture de registres, IPCouleurs RGB, HTMLPermissions Unix (chmod)Générer des masques binaires
Le combo gagnant
BINDEC s'imbrique dans DECHEX pour sauter la case décimale : =DECHEX(BINDEC("11111111")) te sort FF directement, du binaire à l'hexadécimal en une seule formule. Pratique pour convertir des octets en codes couleur sans colonne intermédiaire.
FAQ

Questions fréquentes

BINDEC convertit du binaire vers le décimal, tandis que DECBIN fait l'inverse : il convertit du décimal vers le binaire. Ce sont des fonctions complémentaires. Par exemple, =BINDEC("1011") retourne 11, et =DECBIN(11) retourne "1011".

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction BINDEC : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir