Qu'est-ce que la fonction BASE ?
BASE (même nom en anglais) est ta fonction Excel pour convertir des nombres décimaux en différentes bases numériques. Que tu génères des codes couleur hexadécimaux pour le web, que tu prépares des valeurs binaires pour de la programmation bas niveau ou que tu crées des identifiants compacts en base 36, BASE te fait gagner un temps considérable sur des conversions que tu ferais sinon à la main.
C'est un outil indispensable quand tu travailles avec des systèmes informatiques, de l'électronique ou du développement web. Elle peut convertir vers n'importe quelle base entre 2 et 36, et même forcer une longueur minimale avec des zéros à gauche pour des formats uniformes.
Syntaxe
=BASE(nombre; base; [longueur_min])Clique sur un argument pour aller à son explication.
BASE retourne du texte, pas un nombre. Tu ne peux donc pas faire directement de calcul arithmétique sur le résultat. Pour l'opération inverse (convertir une représentation en base quelconque vers le décimal), utilise DECIMAL.

Comprendre chaque paramètre de la fonction BASE
BASE attend toujours ses arguments dans le même ordre : d'abord le nombre à convertir, puis la base de destination, et seulement après la longueur minimale. Les deux premiers sont obligatoires ; le troisième est facultatif, mais c'est lui qui te sauve quand tu veux des codes alignés (du binaire sur 8 bits, de l'hexa sur 2 caractères) au lieu d'une longueur qui varie selon la valeur.
nombre
: le nombre décimal (base 10) que tu veux convertirIl doit être un entier positif ou nul, compris entre 0 et 2^53-1 (environ 9 quadrillions). Si tu fournis un nombre décimal comme 15,9, Excel le tronquera à l'entier inférieur (15) sans avertissement.
Tu peux utiliser une valeur directe (255), une référence de cellule (A1) ou même le résultat d'une autre formule.
Attention : Les nombres négatifs déclenchent une erreur #NOMBRE!. Utilise ABS() si tes données peuvent être négatives : =BASE(ABS(A1); 2).
base
: la base de numération vers laquelle tu veux convertir ton nombreÇa doit être un entier entre 2 et 36. Chaque base utilise des symboles différents : la base 2 utilise 0-1, la base 16 utilise 0-9 et A-F, et la base 36 utilise 0-9 et A-Z.
Les bases les plus utiles en pratique sont la base 2 (binaire, pour la programmation), la base 8 (octal, pour les permissions Unix), la base 16 (hexadécimal, pour les couleurs web et les adresses mémoire) et la base 36 (pour des identifiants alphanumériques compacts).
[longueur_min]
: la longueur minimale du résultat en caractères(facultatif)Si le résultat de la conversion est plus court, Excel ajoute des zéros à gauche pour atteindre cette longueur. C'est indispensable quand tu veux des formats uniformes : des codes binaires sur 8 bits, des composantes hexadécimales sur 2 caractères, etc.
Par exemple, =BASE(5; 2; 8) retourne "00000101" au lieu de "101". La valeur est la même, mais le format est standardisé.

Exemples pratiques pas à pas
Comment convertir un nombre en binaire sur 8 bits avec la fonction BASE
Tu relis des valeurs de registres relevées sur une carte électronique, et le décimal ne te dit rien d'utile : ce qui compte pour repérer un flag activé, c'est le motif de bits derrière le nombre. Tes valeurs sont listées avec leur registre, leur type et leur zone, et tu veux voir chacune en binaire sur 8 bits, alignée d'une ligne à l'autre. La fonction BASE fait la conversion et complète elle-même les zéros à gauche, sans que tu comptes un seul bit à la main.
- 1Dans une cellule, écris
=BASE(. - 2En 1er argument : clique sur la cellule qui porte la valeur relevée,
A2. Elle affiche128pour le registre R1, et la fonction BASE attend à cet endroit un entier positif ou nul, ce qui est exactement le format de cette colonne. - 3En 2ᵉ argument : saisis la base d'arrivée,
2. C'est ce chiffre qui fixe l'alphabet du résultat, ici les seuls symboles0et1, et c'est ce qui te permet de relire la valeur bit par bit. - 4En 3ᵉ argument : saisis la longueur minimale du résultat,
8. Sans elle, la valeur15ressortirait en1111et ses bits ne tomberaient plus en face de ceux des autres lignes. - 5Ferme la parenthèse et appuie sur Entrée. Recopie ensuite la formule vers le bas pour que chaque registre reçoive son octet complet.
=BASE(A2; 2; 8)15 ressortirait en 1111 et les bits ne tomberaient plus en face les uns des autres. Recopiée sur la colonne, la formule donne un registre lisible bit par bit.Comment générer une référence produit courte en base 36 avec la fonction BASE
Ton catalogue grossit et les identifiants internes à cinq chiffres sont devenus impossibles à dicter quand un client t'appelle pour retrouver un produit. Tu veux un code court, de longueur fixe et dérivé directement de l'ID, pour qu'aucun produit ne se retrouve jamais sur le code d'un autre. La fonction BASE compresse chaque identifiant dans la base la plus large qu'elle connaît et te rend une référence de quatre caractères.
- 1Dans une cellule, écris
=puis le préfixe entre guillemets,"REF-", et complète par&. Les guillemets sont ce qui indique à Excel d'afficher ce texte tel quel, et l'esperluette le colle devant ce qui va suivre. - 2Écris
BASE(juste après l'esperluette, puis :- aEn 1er argument : clique sur la cellule qui porte l'identifiant interne,
A2. Elle affiche1000pour le tapis de souris, et comme cet identifiant est déjà unique dans ton catalogue, la référence qui en sort l'est aussi. - bEn 2ᵉ argument : saisis la base d'arrivée,
36. C'est le maximum que la fonction BASE accepte, avec les chiffres0à9puis les lettresAàZ, et c'est ce qui donne le code le plus court possible pour un identifiant donné. - cEn 3ᵉ argument : saisis la longueur minimale du résultat,
4. L'identifiant1000ressort ainsi en00RSau lieu deRS, et toutes tes références gardent le même gabarit jusqu'à99999, qui remplit pile les quatre caractères.
- aEn 1er argument : clique sur la cellule qui porte l'identifiant interne,
- 3Ferme la parenthèse et appuie sur Entrée. Recopie ensuite la formule vers le bas pour donner sa référence courte à chaque produit du catalogue.
="REF-"&BASE(A2; 36; 4)Comment générer un code couleur hexadécimal avec la fonction BASE
Les couleurs de la charte t'arrivent en RVB depuis l'outil de design, mais la feuille de style, elle, attend du #RRGGBB. Tes trois composantes occupent trois colonnes, avec des valeurs de 0 à 255, et tu veux le code CSS complet sur la même ligne, prêt à copier dans le fichier. La fonction BASE traduit chaque composante en hexadécimal et il ne te reste qu'à recoller les morceaux.
- 1Dans une cellule, écris
=puis le dièse entre guillemets,"#", et complète par&. La feuille de style attend ce caractère en tête du code couleur, et les guillemets sont ce qui indique à Excel de l'afficher tel quel. - 2Écris
BASE(pour la première composante, puis :- aEn 1er argument : clique sur la cellule qui porte le rouge,
A2. Elle affiche255, et chaque composante va de0à255, exactement la plage que couvrent deux caractères hexadécimaux. - bEn 2ᵉ argument : saisis la base d'arrivée,
16. L'hexadécimal utilise les chiffres0à9puis les lettresAàF, si bien que le rouge255ressort enFF. - cEn 3ᵉ argument : saisis la longueur minimale du résultat,
2. C'est elle qui sauve la ligne#FFD700, dont le bleu vaut0et tiendrait sinon sur un seul caractère au lieu de00.
- aEn 1er argument : clique sur la cellule qui porte le rouge,
- 3Écris
)puis les deux autres appels,&BASE(B2; 16; 2)pour le vert et&BASE(C2; 16; 2)pour le bleu. Ils reprennent la même base et la même longueur minimale que le rouge, et l'ordre rouge, vert, bleu est le seul que comprenne la feuille de style. - 4Appuie sur Entrée pour valider. Les trois parenthèses se sont refermées au fil de la saisie, une par appel, et le code couleur s'affiche d'un seul tenant.
="#"&BASE(A2; 16; 2)&BASE(B2; 16; 2)&BASE(C2; 16; 2)0 de la troisième ligne tiendrait sur un seul caractère et décalerait tout le reste du code.Comment éviter l'erreur #NOMBRE! sur un nombre négatif avec la fonction BASE
Tes relevés d'écart contiennent des valeurs négatives et la conversion s'arrête net dessus : la colonne se remplit d'erreurs #NOMBRE! dès la première mesure passée sous zéro. Tu veux malgré tout un binaire lisible sur 8 bits pour chaque sonde, signe compris, sans avoir à trier les lignes à la main. En donnant la valeur absolue à la fonction BASE et en réattachant le signe à côté, la colonne se remplit d'un bout à l'autre.
- 1Dans une cellule, écris
=puis le test qui fabrique le signe,SI(B2<0; "-"; ""), et complète par&. La fonction SI renvoie un tiret quand la mesure est négative et une chaîne vide dans les autres cas, si bien que les valeurs positives ressortent sans rien devant. - 2Écris
BASE(à la suite de l'esperluette, puis :- aEn 1er argument : écris la valeur absolue de la mesure et referme-la,
ABS(B2). La fonction ABS renvoie42pour l'écart-42, et la fonction BASE retrouve ainsi l'entier positif qu'elle exige, ce qui fait disparaître l'erreur#NOMBRE!. - bEn 2ᵉ argument : saisis la base d'arrivée,
2. La valeur absolue n'a rien changé au binaire que tu attends, elle a seulement rendu le nombre acceptable pour la fonction. - cEn 3ᵉ argument : saisis la longueur minimale du résultat,
8. Sans elle, l'écart-7ressortirait en-111et ne s'alignerait plus sur les autres lignes.
- aEn 1er argument : écris la valeur absolue de la mesure et referme-la,
- 3Ferme la parenthèse de la fonction BASE et appuie sur Entrée. Celle de la fonction ABS a déjà été refermée dans son étape, et celle de la fonction SI dès la première.
=SI(B2<0; "-"; "")&BASE(ABS(B2); 2; 8)#NOMBRE!. La fonction SI le remet ensuite devant le résultat quand la mesure était négative, tandis que les valeurs positives reçoivent un préfixe vide et ressortent inchangées.
Les erreurs fréquentes avec la fonction BASE
Deux pièges déclenchent un #NOMBRE! franc : un nombre négatif (que tu contournes avec ABS()) ou une base hors de l'intervalle [2; 36]. Les deux autres soucis sont plus sournois car BASE ne proteste pas : confondre son sens avec DECIMAL (BASE va du décimal vers une autre base, jamais l'inverse), et dépasser 2^53 où le résultat devient faux sans la moindre alerte.
Erreur #NOMBRE! avec un nombre négatif
BASE ne fonctionne qu'avec des entiers positifs ou nuls. Si tu fournis un nombre négatif comme -42, Excel retourne l'erreur #NOMBRE!. Aucune base ne peut représenter directement des négatifs sans notation spéciale.
Solution : Utilise ABS() pour obtenir la valeur absolue avant conversion : =BASE(ABS(A1);2). Si tu as besoin de conserver le signe, ajoute-le manuellement : =SI(A1<0;"-";"")&BASE(ABS(A1);2).
Base invalide hors de l'intervalle [2, 36]
Le paramètre base doit impérativement être entre 2 et 36. Si tu essaies d'utiliser 1, 37, 100 ou toute valeur hors de cet intervalle, Excel génère #NOMBRE!.
Solution : Vérifie que ta base est bien dans [2; 36]. Si la valeur provient d'une cellule, ajoute une validation : =SI(ET(B1>=2;B1<=36);BASE(A1;B1);"Base invalide").
Confondre BASE et DECIMAL (direction de conversion inversée)
C'est l'erreur la plus courante. BASE convertit du décimal vers une autre base. DECIMAL fait l'inverse. Si tu essaies de reconvertir "FF" en 255 avec BASE, ça ne marchera pas.
Solution : Mémorise : BASE = décimal vers autre base, DECIMAL = autre base vers décimal. Pour reconvertir "FF" en décimal, utilise =DECIMAL("FF";16) qui retournera 255.
Nombre trop grand dépassant la précision d'Excel
Excel a une limite de précision à 2^53 (environ 9 quadrillions). Au-delà, tu risques d'obtenir des résultats incorrects sans erreur affichée, ce qui est particulièrement trompeur.
Solution : Pour des nombres très grands, divise-les en parties plus petites ou utilise un langage de programmation avec support des grands entiers (Python, JavaScript BigInt). Dans Excel, reste sous 2^53 pour garantir des résultats fiables.

BASE vs DECIMAL vs DECBIN vs DECHEX
Utilise BASE quand tu veux convertir du décimal vers n'importe quelle base. Utilise DECIMAL pour l'opération inverse. Les fonctions spécialisées (DECBIN, DECHEX, DECOCT) sont limitées à une base fixe mais leur nom rend le code plus explicite.
| Critère | BASE | DECIMAL | DECBIN / DECHEX |
|---|---|---|---|
| Direction conversion | Décimal vers autre base | Autre base vers décimal | Décimal vers base fixe |
| Flexibilité bases | Toutes (2-36) | Toutes (2-36) | Une seule base |
| Type de résultat | Texte | Nombre | Texte |
| Longueur minimale | Oui (3e paramètre) | Non | Parfois |
| Cas d'usage | Conversion universelle | Reconversion vers décimal | Code plus explicite |
Questions fréquentes
Les bases les plus utilisées sont la base 2 (binaire, pour la programmation), la base 8 (octal, pour les permissions Unix), la base 10 (décimal, notre système habituel) et la base 16 (hexadécimal, pour les couleurs web et les adresses mémoire). BASE supporte toutes les bases de 2 à 36.
BASE retourne du texte car les bases supérieures à 10 utilisent des lettres (A-Z pour représenter 10-35). Par exemple, en hexadécimal (base 16), 255 devient FF. Excel ne peut pas stocker FF comme un nombre numérique, donc le résultat est nécessairement du texte.
Cela signifie que tu ne peux pas additionner directement les résultats de BASE. Si tu as besoin d'un calcul, utilise DECIMAL pour reconvertir en décimal d'abord.
Utilise la fonction DECIMAL pour l'opération inverse. Par exemple, si =BASE(255;16) retourne "FF", alors =DECIMAL("FF";16) retourne 255.
DECIMAL prend le texte et la base d'origine comme paramètres. C'est la paire parfaite avec BASE pour faire des allers-retours de conversion.
Non sur les deux fronts. BASE tronque silencieusement les décimales (15,9 devient 15) et déclenche une erreur #NOMBRE! pour les négatifs.
Pour les décimales, arrondis explicitement avec ARRONDI() ou ENT() avant. Pour les négatifs, utilise ABS() et gère le signe séparément si nécessaire.
DECBIN et DECHEX sont des fonctions spécialisées pour convertir uniquement vers le binaire (base 2) et l'hexadécimal (base 16). BASE est universelle : elle peut convertir vers n'importe quelle base de 2 à 36. Les fonctions spécialisées peuvent rendre le code plus lisible (le nom dit explicitement la conversion), mais BASE est plus flexible dès que tu as besoin d'une base autre que 2 ou 16.
Concatène les trois composantes RGB converties en hexadécimal sur 2 caractères chacune : ="#"&BASE(R;16;2)&BASE(V;16;2)&BASE(B;16;2). Le troisième paramètre 2 garantit toujours 2 caractères, même pour les valeurs basses comme 7 (qui deviendrait "07").
Par exemple, pour le rouge (255,99,71), la formule donne "#FF6347".
Pour aller plus loin
Continue sur ta lancée après la fonction BASE : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




