Aller au contenu principal

Qu'est-ce que la fonction BASE ?

Définition
La fonction BASE convertit un entier décimal (base 10) en texte représentant ce nombre dans la base de numération choisie, entre 2 et 36. Le résultat est toujours du texte, car les bases supérieures à 10 utilisent des lettres.

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

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.

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

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.

1

nombre

: le nombre décimal (base 10) que tu veux convertir

Il 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).

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).

3

[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é.

Le savais-tu ?
Le 3e argument, souvent oublié, impose une longueur minimale en complétant de zéros à gauche : BASE(5; 2; 8) donne 00000101 au lieu de 101. Indispensable pour aligner du binaire sur 8 bits ou des composantes hexa sur 2 caractères.
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 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.

Les étapes
  1. 1
    Dans une cellule, écris =BASE(.
  2. 2
    En 1er argument : clique sur la cellule qui porte la valeur relevée, A2. Elle affiche 128 pour le registre R1, et la fonction BASE attend à cet endroit un entier positif ou nul, ce qui est exactement le format de cette colonne.
  3. 3
    En 2ᵉ argument : saisis la base d'arrivée, 2. C'est ce chiffre qui fixe l'alphabet du résultat, ici les seuls symboles 0 et 1, et c'est ce qui te permet de relire la valeur bit par bit.
  4. 4
    En 3ᵉ argument : saisis la longueur minimale du résultat, 8. Sans elle, la valeur 15 ressortirait en 1111 et ses bits ne tomberaient plus en face de ceux des autres lignes.
  5. 5
    Ferme la parenthèse et appuie sur Entrée. Recopie ensuite la formule vers le bas pour que chaque registre reçoive son octet complet.
Au final, ta formule devrait ressembler à ça :=BASE(A2; 2; 8)
Explication
La fonction lit la valeur décimale et la réécrit avec les seuls symboles de la base 2. Le troisième argument fait le reste du travail : sans lui, la valeur 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.
Exemple 2

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.

Les étapes
  1. 1
    Dans 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. 2
    Écris BASE( juste après l'esperluette, puis :
    1. aEn 1er argument : clique sur la cellule qui porte l'identifiant interne, A2. Elle affiche 1000 pour 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.
    2. bEn 2ᵉ argument : saisis la base d'arrivée, 36. C'est le maximum que la fonction BASE accepte, avec les chiffres 0 à 9 puis les lettres A à Z, et c'est ce qui donne le code le plus court possible pour un identifiant donné.
    3. cEn 3ᵉ argument : saisis la longueur minimale du résultat, 4. L'identifiant 1000 ressort ainsi en 00RS au lieu de RS, et toutes tes références gardent le même gabarit jusqu'à 99999, qui remplit pile les quatre caractères.
  3. 3
    Ferme 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.
Voici la formule que tu obtiens à la fin :="REF-"&BASE(A2; 36; 4)
Explication
La fonction BASE réécrit l'ID dans l'alphabet le plus dense qu'elle accepte (les dix chiffres, puis les vingt-six lettres), ce qui fait tomber cinq chiffres décimaux à quatre caractères. La longueur minimale garantit que toutes les références ont le même gabarit, et l'esperluette colle simplement le préfixe devant.
Exemple 3

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.

Les étapes
  1. 1
    Dans 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. 2
    Écris BASE( pour la première composante, puis :
    1. aEn 1er argument : clique sur la cellule qui porte le rouge, A2. Elle affiche 255, et chaque composante va de 0 à 255, exactement la plage que couvrent deux caractères hexadécimaux.
    2. bEn 2ᵉ argument : saisis la base d'arrivée, 16. L'hexadécimal utilise les chiffres 0 à 9 puis les lettres A à F, si bien que le rouge 255 ressort en FF.
    3. cEn 3ᵉ argument : saisis la longueur minimale du résultat, 2. C'est elle qui sauve la ligne #FFD700, dont le bleu vaut 0 et tiendrait sinon sur un seul caractère au lieu de 00.
  3. 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.
  4. 4
    Appuie 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.
Une fois les morceaux assemblés, ta formule donne ça :="#"&BASE(A2; 16; 2)&BASE(B2; 16; 2)&BASE(C2; 16; 2)
Explication
Trois appels de la fonction BASE se suivent dans la même formule, un par composante, et les esperluettes les recollent derrière le dièse. La longueur minimale est ce qui rend le code valide : sans elle, le bleu 0 de la troisième ligne tiendrait sur un seul caractère et décalerait tout le reste du code.
Exemple 4

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.

Les étapes
  1. 1
    Dans 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. 2
    Écris BASE( à la suite de l'esperluette, puis :
    1. aEn 1er argument : écris la valeur absolue de la mesure et referme-la, ABS(B2). La fonction ABS renvoie 42 pour l'écart -42, et la fonction BASE retrouve ainsi l'entier positif qu'elle exige, ce qui fait disparaître l'erreur #NOMBRE!.
    2. 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.
    3. cEn 3ᵉ argument : saisis la longueur minimale du résultat, 8. Sans elle, l'écart -7 ressortirait en -111 et ne s'alignerait plus sur les autres lignes.
  3. 3
    Ferme 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.
En mettant tout bout à bout, tu écris :=SI(B2<0; "-"; "")&BASE(ABS(B2); 2; 8)
Explication
La fonction ABS retire le signe avant que la fonction BASE ne voie le nombre, et c'est ce qui écarte l'erreur #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.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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èreBASEDECIMALDECBIN / DECHEX
Direction conversionDécimal vers autre baseAutre base vers décimalDécimal vers base fixe
Flexibilité basesToutes (2-36)Toutes (2-36)Une seule base
Type de résultatTexteNombreTexte
Longueur minimaleOui (3e paramètre)NonParfois
Cas d'usageConversion universelleReconversion vers décimalCode plus explicite
Le combo gagnant
BASE et DECIMAL forment une paire réciproque : BASE écrit un décimal dans une autre base, BASE(255; 16) donne FF, et DECIMAL relit ce texte vers le décimal, DECIMAL("FF"; 16) redonne 255.
FAQ

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.

Ressources

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