La fonction DECIMAL te permet de convertir un nombre écrit dans n'importe quelle base (binaire, hexadécimal, octal...) vers notre système décimal habituel. Que tu sois développeur, data analyst ou que tu travailles avec des données techniques, DECIMAL simplifie la conversion de systèmes numériques différents.
Concrètement, c'est elle qui transforme FF en 255, 1010 en 10, ou 77 en 63. Utile pour décoder des codes couleur HTML, analyser des permissions Unix, ou uniformiser des exports de systèmes qui ne parlent pas tous la même langue.
Syntaxe de la fonction DECIMAL
=DECIMAL(texte; base)Comprendre chaque paramètre de la fonction DECIMAL
DECIMAL attend toujours ses deux arguments dans le même ordre : d'abord le nombre à convertir, puis la base dans laquelle il est écrit. Les deux sont obligatoires, et c'est leur cohérence qui compte : le texte doit être écrit avec les caractères autorisés par la base que tu indiques, sinon rien ne fonctionnera.
texte
: le nombre que tu veux convertir, écrit sous forme de textePar exemple, "1010" pour du binaire, "FF" pour de l'hexadécimal, ou "77" pour de l'octal. Attention : ce doit être du texte, pas un nombre. Si tu as un nombre dans une cellule, mets-le entre guillemets ou assure-toi qu'il est formaté en texte.
Astuce : Pour l'hexadécimal, tu peux écrire les lettres en majuscules ou minuscules (FF ou ff). Excel accepte les deux formats sans problème.
base
: la base dans laquelle ton nombre est écritCe doit être un nombre entier entre 2 et 36. Les bases les plus courantes sont 2 (binaire), 8 (octal), 10 (décimal) et 16 (hexadécimal). Pour les bases supérieures à 10, les lettres A à Z représentent les chiffres 10 à 35.
Attention : Si la base est inférieure à 2 ou supérieure à 36, Excel retournera une erreur #NOMBRE!. Vérifie bien que ta base est dans la plage valide.
Pas envie d'écrire la formule DECIMAL à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Développeur : convertir du binaire en décimal
Tu es développeur ou étudiant en informatique, et tu travailles sur des opérations bit à bit. Tu dois visualiser tes valeurs binaires en décimal pour mieux comprendre ce qui se passe dans ton code.
| A | B | |
|---|---|---|
| 1 | Binaire | Décimal |
| 2 | 1010 | 10 |
| 3 | 11111111 | 255 |
| 4 | 10000000 | 128 |
| 5 | 1100101 | 101 |
=DECIMAL(A2; 2)La fonction lit le texte binaire 1010 de la colonne A en base 2 et retourne sa valeur décimale, 10. En la tirant vers le bas, tu confirmes que 11111111 vaut bien 255 (la valeur maximale sur 8 bits), sans calculer toi-même les puissances de 2.
Astuce de pro : Place les nombres binaires dans une colonne formatée en texte (@ dans la mise en forme de cellule), sinon Excel peut supprimer les zéros initiaux : 00101 deviendrait 101.
Web designer : convertir des codes couleur hexadécimaux
Tu es web designer ou développeur front-end, et tu as des codes couleur hexadécimaux à décomposer en composantes RGB pour les utiliser dans un autre outil (logiciel de design, feuille de calcul de charte graphique, export vers un autre format). Une couleur hex comme #FF5733 se décompose en trois paires : FF (rouge), 57 (vert), 33 (bleu).
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Couleur | Rouge (hex) | Vert (hex) | Bleu (hex) | Rouge (déc) | Vert (déc) | Bleu (déc) |
| 2 | #FF5733 | FF | 57 | 33 | 255 | 87 | 51 |
| 3 | #2ECC71 | 2E | CC | 71 | 46 | 204 | 113 |
| 4 | #3498DB | 34 | 98 | DB | 52 | 152 | 219 |
=DECIMAL(B2; 16)Ici, la fonction prend la paire hexadécimale FF (la composante rouge) en base 16 et la traduit en 255. Appliquée aux trois paires de #FF5733, elle révèle que cette couleur correspond à rgb(255, 87, 51).
Administrateur système : convertir des permissions Unix
Tu es administrateur système ou DevOps, et tu dois documenter les permissions de fichiers Unix. Celles-ci sont écrites en octal (base 8) dans les scripts, mais tu veux noter leur équivalent décimal dans ta documentation ou ton tableur de suivi.
| A | B | C | |
|---|---|---|---|
| 1 | Permission (octal) | Permission (décimal) | Signification |
| 2 | 755 | 493 | rwxr-xr-x |
| 3 | 644 | 420 | rw-r--r-- |
| 4 | 700 | 448 | rwx------ |
| 5 | 777 | 511 | rwxrwxrwx |
=DECIMAL(A2; 8)La fonction interprète la permission 755 comme un nombre en base 8 et renvoie son équivalent décimal, 493. Même si tu utilises rarement cette valeur, elle te permet de comparer des permissions d'un système à l'autre et d'automatiser des vérifications.
Data analyst : uniformiser des données en bases variées
Tu es data analyst et tu reçois des données issues de systèmes différents qui utilisent des bases numériques variées (identifiants hexadécimaux, codes binaires, références octales). Tu dois tout normaliser en base 10 pour pouvoir analyser et comparer les valeurs.
| A | B | C | |
|---|---|---|---|
| 1 | Valeur | Base | Décimal |
| 2 | 1A3 | 16 | 419 |
| 3 | 1010 | 2 | 10 |
| 4 | 127 | 8 | 87 |
| 5 | ZZ | 36 | 1295 |
=DECIMAL(A2; B2)Ici, la fonction lit la base dans la colonne B plutôt qu'en dur, donc elle s'adapte à chaque ligne : ZZ en base 36 devient ainsi 1295. Tu peux ensuite faire des calculs, des tris et des graphiques sur ces valeurs uniformisées.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction DECIMAL
Tout ce qui cloche avec DECIMAL finit presque toujours sur le même code : #NOMBRE!. Le cas que tu croiseras le plus, c'est un caractère qui n'existe pas dans la base demandée, comme un 8 glissé dans un nombre octal ou un G en hexadécimal.
Les deux autres pièges sont plus sournois car ils ne lèvent pas forcément d'erreur visible : oublier les guillemets autour du texte, et confondre DECIMAL avec sa réciproque BASE, qui fait exactement le chemin inverse.
Caractères invalides pour la base choisie
Excel retourne #NOMBRE! quand le texte contient un caractère qui n'existe pas dans la base spécifiée. Par exemple, le chiffre 8 dans un nombre octal (base 8), ou la lettre G en hexadécimal (base 16).
Solution : Vérifie que chaque caractère de ton texte est valide pour la base. En octal, seuls 0-7 sont autorisés. En hexadécimal, 0-9 et A-F (ou a-f). Corrige le texte source ou filtre les lignes invalides avec =SIERREUR(DECIMAL(A1; 16); "invalide").
Oublier que le premier paramètre doit être du texte
Si tu saisis un nombre sans guillemets dans la formule, Excel peut l'interpréter différemment de ce que tu attends, surtout pour les nombres avec des zéros initiaux ou des valeurs hexadécimales contenant des lettres.
Solution : Mets toujours ton nombre entre guillemets ("1010") ou stocke-le dans une cellule formatée en texte. Utilise =DECIMAL("1010"; 2) plutôt que =DECIMAL(1010; 2) pour lever toute ambiguïté.
Confondre DECIMAL et BASE (sens inverse)
DECIMAL convertit VERS le décimal (base 10). Si tu veux faire l'inverse, c'est-à-dire convertir un nombre décimal vers une autre base, utilise BASE, pas DECIMAL.
Solution : Souviens-toi du sens : DECIMAL prend une autre base et retourne du décimal. BASE prend du décimal et retourne une autre base. Pour passer du binaire 1010 au décimal : =DECIMAL("1010"; 2). Pour passer du décimal 10 au binaire : =BASE(10; 2).
Base hors de la plage valide (< 2 ou > 36)
DECIMAL n'accepte que des bases entre 2 et 36. Une base de 1 ou 37 provoque #NOMBRE! sans autre indication.
Solution : Vérifie que ta base est un entier entre 2 et 36 avant d'appeler DECIMAL. Si la base vient d'une cellule, ajoute une validation des données ou un =SI(ET(B1>=2; B1<=36); DECIMAL(A1; B1); "Base invalide").
Astuces avancées avec DECIMAL
Extraire une portion de code avant de convertir
Quand ton identifiant contient un préfixe (0x, #, 0b...) suivi du nombre, combine DROITE ou STXT avec DECIMAL pour isoler la partie utile avant de convertir. Par exemple, =DECIMAL(DROITE("0xFF"; 2); 16) extrait les deux derniers caractères FF puis les convertit en 255.
Tu peux aussi extraire le composant bleu d'un code couleur HTML : =DECIMAL(DROITE("#3498DB"; 2); 16) donne 219.
Créer un convertisseur universel entre deux bases quelconques
Combine DECIMAL et BASE pour convertir d'une base quelconque vers une autre sans passer manuellement par le décimal. =BASE(DECIMAL("1010"; 2); 16) convertit directement du binaire vers l'hexadécimal et retourne "A".
Cette technique fonctionne pour n'importe quelle paire de bases entre 2 et 36.
Valider silencieusement une entrée dans une base donnée
Utilise SIERREUR autour de DECIMAL pour vérifier si une cellule contient un nombre valide dans une base donnée, sans faire planter toute la formule. =SIERREUR(DECIMAL(A1; 2); "Binaire invalide") retourne le nombre si A1 est un binaire correct, ou le message d'erreur sinon.
Idéal pour valider des imports ou des saisies utilisateur avant de les traiter.
Questions fréquentes sur la fonction DECIMAL
Quelle est la différence entre DECIMAL et BASE ?
DECIMAL convertit un nombre en base quelconque vers la base 10 (décimale), tandis que BASE fait l'inverse : elle convertit un nombre décimal vers une autre base. Ce sont deux fonctions complémentaires.
Utilise DECIMAL quand tu veux "lire" un nombre dans une autre base, et BASE quand tu veux "écrire" un nombre dans une autre base.
Quelles bases puis-je utiliser avec DECIMAL ?
Tu peux utiliser n'importe quelle base de 2 (binaire) à 36. Les bases courantes sont 2 (binaire), 8 (octal), 10 (décimal) et 16 (hexadécimal). Pour les bases supérieures à 10, les lettres A-Z représentent les valeurs 10-35.
La base 36 utilise donc tous les chiffres 0-9 et toutes les lettres A-Z, ce qui permet d'encoder des identifiants courts.
DECIMAL fonctionne-t-elle avec des nombres négatifs ?
Non, DECIMAL ne gère pas directement les nombres négatifs. Si tu as besoin de convertir des nombres négatifs, tu devras traiter le signe séparément (par exemple avec SI pour détecter un tiret au début) et l'appliquer au résultat de DECIMAL.
Pourquoi DECIMAL retourne #NOMBRE! ?
Cette erreur apparaît dans plusieurs cas : si le texte contient des caractères invalides pour la base spécifiée (par exemple 8 dans un nombre octal ou G en hexadécimal), si la base n'est pas entre 2 et 36, ou si le résultat dépasse les limites numériques d'Excel.
Vérifie d'abord les caractères de ton texte, puis la valeur de la base.
Puis-je utiliser DECIMAL pour convertir des adresses IP ?
Une adresse IP (comme 192.168.1.1) est déjà écrite en décimal avec une notation pointée. Pour la convertir en un nombre unique, tu ne peux pas utiliser DECIMAL directement.
Tu dois séparer les quatre octets, puis calculer : premier×256³ + deuxième×256² + troisième×256 + quatrième. C'est plus complexe mais faisable avec une combinaison de fonctions texte et mathématiques.
En hexadécimal, pourquoi FF vaut 255 ?
En hexadécimal, A=10, B=11, C=12, D=13, E=14 et F=15. FF se calcule donc : F×16 + F = 15×16 + 15 = 240 + 15 = 255.
C'est la valeur maximale sur 8 bits, ce qui explique pourquoi #FFFFFF est le blanc en HTML (rouge=255, vert=255, bleu=255).
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

