Aller au contenu principal

Qu'est-ce que la fonction CODE ?

Définition
La fonction CODE retourne le code ASCII du premier caractère d'une chaîne de texte. Elle renvoie un nombre entre 1 et 255 correspondant à l'identifiant du caractère dans la table ASCII.

CODE (CODE en anglais aussi) te sert de brique de base dès que tu dois comparer ou trier des caractères selon leur position réelle dans l'alphabet, plutôt que visuellement. C'est l'outil à sortir quand une simple comparaison de texte ne suffit plus pour distinguer une majuscule d'une minuscule ou repérer un caractère qui n'a rien à faire là.

Concrètement, c'est elle qui te permet de valider qu'un code produit commence bien par une majuscule, de détecter des caractères invisibles parasites dans un import CSV, de créer une colonne de tri numérique à partir de la première lettre d'un nom, ou de vérifier qu'un identifiant système ne contient que des caractères alphanumériques. Les data analysts et les développeurs l'utilisent quotidiennement pour diagnostiquer des anomalies et automatiser des contrôles de qualité.

Syntaxe

=CODE(texte)

Clique sur un argument pour aller à son explication.

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

Comprendre chaque paramètre de la fonction CODE

1

texte

: le caractère ou la chaîne de texte dont tu veux obtenir le code ASCII

Ça peut être une lettre directe comme "A", une référence de cellule comme A1, ou le résultat d'une autre fonction comme GAUCHE(B2; 1).

Si tu fournis une chaîne de plusieurs caractères comme "BONJOUR", CODE analysera uniquement le premier caractère ("B") et ignorera le reste. Pour traiter tous les caractères, tu devras combiner CODE avec d'autres fonctions texte.

Le savais-tu ?
Majuscules et minuscules ont des codes différents : « A » vaut 65 mais « a » vaut 97. Cet écart de 32 est constant pour toutes les lettres de l'alphabet, ce qui permet de bricoler ses propres conversions de casse avec CAR.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment lire le code ASCII d'un caractère avec la fonction CODE

Le système de ton fournisseur refuse une partie de ton catalogue et sa relance tombe demain, alors il te faut la raison aujourd'hui. Tes références produit sont listées avec leur catégorie, leur format et leur zone, et tu veux voir le nombre qui se cache derrière la lettre initiale de chaque code, parce que c'est ce nombre-là que la machine d'en face compare. La fonction CODE traduit ce premier caractère en son identifiant ASCII, sans que tu aies à ouvrir la moindre table de correspondance.

Les étapes
  1. 1
    Dans une cellule, écris =CODE(.
  2. 2
    En 1er argument : clique sur la cellule qui contient la référence à traduire, A2. La fonction accepte aussi bien une lettre tapée entre guillemets comme "A" qu'une référence de cellule, mais pointer la cellule te laisse recopier exactement la même formule sur les cinq lignes du tableau.
  3. 3
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas sur les quatre lignes suivantes. Chaque référence produit obtient ainsi son propre code dans la colonne Code ASCII.
Au final, ta formule devrait ressembler à ça :=CODE(A2)
Explication
Ici, la fonction ne regarde que le premier caractère de A2, le « A » de A100, et renvoie son identifiant dans la table ASCII : 65. Les trois chiffres qui suivent sont ignorés, quelle que soit la longueur du code. Recopiée vers le bas, la formule donne 66 pour le « B », 67 pour le « C », et ainsi de suite le long de l'alphabet.
Exemple 2

Comment vérifier qu'un code commence par une majuscule avec les fonctions CODE et SI

Ton ERP rejette l'import du fichier et exige que chaque référence commence par une majuscule, sauf que rien ne saute aux yeux dans ta liste. Tes codes produit sont là avec leur fournisseur, et tu veux repérer ceux qui partent sur un mauvais caractère avant de renvoyer le fichier. La fonction CODE traduit chaque initiale en nombre, et il ne reste plus qu'à vérifier que ce nombre tombe dans la plage réservée aux majuscules.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le test qui encadre les majuscules et referme-le, ET(CODE(A2)>=65; CODE(A2)<=90). La borne basse 65 est le code du « A » et la borne haute 90 celui du « Z », si bien que la fonction ET ne renvoie vrai que pour une initiale située entre les deux. Referme sa parenthèse avant de continuer, pour que les deux textes qui arrivent ensuite reviennent bien à la fonction SI.
  3. 3
    En 2ᵉ argument : écris ce que la formule affiche quand l'initiale est bien une majuscule, "Valide". Les guillemets sont obligatoires : sans eux, Excel chercherait une plage nommée Valide dans le classeur, ne la trouverait pas et renverrait #NOM?.
  4. 4
    En 3ᵉ argument : écris ce qu'elle affiche dans le cas contraire, "À corriger". Trois lignes du tableau reçoivent ce libellé, b205, 4D15 et @X775. Ce sont exactement les références que ton ERP refusera.
  5. 5
    Ferme la parenthèse de la fonction SI et appuie sur Entrée. Celle de la fonction ET a déjà été refermée à l'étape précédente.
Voici la formule que tu obtiens à la fin :=SI(ET(CODE(A2)>=65; CODE(A2)<=90); "Valide"; "À corriger")
Explication
La formule traduit la première lettre en nombre, puis vérifie que ce nombre tombe dans la plage 65 à 90, celle des majuscules de A à Z. A100 démarre sur un 65 et passe le contrôle, alors que b205 (98), 4D15 (52) et @X775 (64) tombent tous en dehors. Une seule plage remplace ainsi les vingt-six comparaisons qu'il faudrait écrire lettre par lettre.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction CODE

Le jour où CODE te lâche, c'est presque toujours sur une cellule vide : sans caractère à lire, elle renvoie #VALEUR!, et c'est de loin le cas le plus fréquent. Les deux autres ratés sont plus sournois car ils ne déclenchent aucune erreur : soit tu la confonds avec son inverse CAR et tu récupères un nombre au lieu d'une lettre, soit tu oublies qu'elle s'arrête au premier caractère, si bien que CODE("HELLO") ne te donne que le 72 du "H".

Erreur #VALEUR! avec une cellule vide

Si tu appliques CODE à une cellule vide, Excel retourne #VALEUR! car il n'y a aucun caractère à analyser. C'est l'erreur la plus courante avec cette fonction.

Solution : Protège ta formule avec SI : =SI(A1=""; ""; CODE(A1)). Cela retourne une cellule vide au lieu d'une erreur quand la source est vide.

Confusion entre CODE et CAR : les deux fonctions inversées

CODE transforme un caractère en nombre ("A" -> 65), tandis que CAR fait l'inverse (65 -> "A"). Confondre les deux génère des résultats absurdes : un nombre là où tu attends du texte, ou du texte là où tu attends un nombre.

Solution : Retiens que CODE lit du texte et produit un nombre, alors que CAR lit un nombre et produit du texte. Ce sont deux fonctions inverses l'une de l'autre.

CODE ne traite que le premier caractère, pas toute la chaîne

Beaucoup pensent que CODE("HELLO") retourne les codes de tous les caractères, mais elle retourne uniquement 72 (le code de "H"). Les quatre autres lettres sont ignorées.

Solution : Pour analyser tous les caractères, utilise CODE(STXT(A1;1;1)), CODE(STXT(A1;2;1)), etc., ou crée une formule matricielle qui boucle sur chaque position.

L’erreur fatale
CODE ne lit que le premier caractère : CODE(« HELLO ») renvoie 72, le code du seul H, les autres lettres sont ignorées. Pour analyser toute la chaîne, extrais chaque position avec STXT, comme CODE(STXT(A1;2;1)) puis CODE(STXT(A1;3;1)).
Lucas, la mascotte du Dojo, compare deux fonctions Excel

CODE vs CAR vs UNICODE vs UNICAR

Tant que tu restes sur des lettres latines, des chiffres et des accents français, CODE fait le travail : elle lit dans le sens texte vers nombre et couvre toute la table ASCII (1 à 255). Le mur arrive avec un emoji ou un alphabet non latin, qu'elle ne sait pas traduire : là, tu bascules sur UNICODE. Et si tu veux faire le chemin inverse, partir d'un nombre pour retrouver le caractère, c'est CAR qui prend le relais en ASCII, UNICAR dès qu'il faut gérer l'Unicode complet.

CritèreCODECARUNICODEUNICAR
DirectionTexte -> NombreNombre -> TexteTexte -> NombreNombre -> Texte
Plage de codes1-255 (ASCII)1-255 (ASCII)1-1114111 (Unicode)1-1114111 (Unicode)
EmojisNonNonOuiOui
Accents françaisOuiOuiOuiOui
Usage typiqueValidation, parsingGénération de texteAnalyse internationaleSymboles Unicode
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec CODE

1Astuce

Convertir la casse via le code ASCII

Tu peux transformer une majuscule en minuscule en ajoutant 32 à son code : =CAR(CODE("A")+32) retourne "a". La différence de 32 est constante pour toutes les lettres de l'alphabet.
Bien sûr, MINUSCULE() fait la même chose plus simplement, mais comprendre cette logique t'aide à construire des conversions de casse personnalisées quand les fonctions standard ne suffisent pas.

2Astuce

Générer une séquence alphabétique automatique

Crée une colonne A, B, C... Z automatiquement : =CAR(64+LIGNE()). En ligne 1, tu obtiens "A" (64+1=65), en ligne 2 "B", etc.
Cette technique est parfaite pour créer des étiquettes de colonnes, des codes de catégorie ou des identifiants séquentiels basés sur l'alphabet.

3Astuce

Créer un chiffrement César basique

Pour décaler chaque lettre de N positions dans l'alphabet, utilise : =CAR(CODE(A1)+3) pour décaler de 3 positions. "A" devient "D", "B" devient "E", etc.
Attention : cette méthode simple ne gère pas le bouclage (Z+1 ne redevient pas A). Pour un vrai chiffrement, tu dois ajouter une condition SI avec la fonction MOD.

FAQ

Questions fréquentes

Oui, exactement. CODE analyse uniquement le premier caractère de ton texte. Si tu écris =CODE("BONJOUR"), tu obtiens 66 (le code de "B"). Pour obtenir les codes des autres lettres, tu dois combiner CODE avec STXT ou DROITE pour extraire chaque caractère individuellement.

Ressources

Pour aller plus loin

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

Tout voir