Qu'est-ce que la fonction CODE ?
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é.

Comprendre chaque paramètre de la fonction CODE
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.

Exemples pratiques pas à pas
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.
- 1Dans une cellule, écris
=CODE(. - 2En 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. - 3Ferme 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.
=CODE(A2)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.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.
- 1Dans une cellule, écris
=SI(. - 2En 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. - 3En 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éeValidedans le classeur, ne la trouverait pas et renverrait#NOM?. - 4En 3ᵉ argument : écris ce qu'elle affiche dans le cas contraire,
"À corriger". Trois lignes du tableau reçoivent ce libellé,b205,4D15et@X775. Ce sont exactement les références que ton ERP refusera. - 5
=SI(ET(CODE(A2)>=65; CODE(A2)<=90); "Valide"; "À corriger")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.
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.

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ère | CODE | CAR | UNICODE | UNICAR |
|---|---|---|---|---|
| Direction | Texte -> Nombre | Nombre -> Texte | Texte -> Nombre | Nombre -> Texte |
| Plage de codes | 1-255 (ASCII) | 1-255 (ASCII) | 1-1114111 (Unicode) | 1-1114111 (Unicode) |
| Emojis | Non | Non | Oui | Oui |
| Accents français | Oui | Oui | Oui | Oui |
| Usage typique | Validation, parsing | Génération de texte | Analyse internationale | Symboles Unicode |

Astuces avancées avec CODE
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.
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.
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.
Questions fréquentes
CODE utilise le jeu de caractères ASCII standard (codes de 0 à 255), parfait pour les lettres latines et les symboles de base. UNICODE couvre l'ensemble du standard international, incluant les emojis, les alphabets non-latins et les caractères mathématiques. Pour un usage quotidien avec des textes français, CODE suffit largement. Passe à UNICODE seulement si tu manipules des emojis ou des alphabets asiatiques.
Les chiffres vont de 48 pour "0" jusqu'à 57 pour "9". Par exemple, CODE("5") retourne 53.
Cette plage continue facilite la détection des chiffres dans un texte en vérifiant simplement si le code est compris entre 48 et 57.
Utilise la fonction CAR qui fait l'inverse de CODE. Pour obtenir la lettre en position 5, écris =CAR(64+5) qui retournera "E". Le code 65 correspondant à "A", tu ajoutes simplement ta position à 64.
Cette astuce permet de générer des colonnes A, B, C... Z automatiquement avec une formule basée sur le numéro de ligne.
Oui, CODE retourne bien un code pour les caractères accentués. Par exemple, CODE("é") renvoie 233, CODE("à") renvoie 224.
Tous les caractères de la table ASCII étendue (128-255) sont supportés, ce qui couvre l'ensemble des accents français.
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



