Aller au contenu principal

Qu'est-ce que la fonction UNICODE ?

Définition
La fonction UNICODE retourne le code numérique Unicode du premier caractère d'une chaîne de texte. Elle prend en charge l'intégralité du standard Unicode, contrairement à CODE qui se limite aux 255 premiers caractères ASCII.

UNICODE te sert dès que tes données dépassent le simple alphabet latin : émojis, caractères accentués, alphabets étrangers ou symboles que la bonne vieille fonction CODE ne sait tout simplement pas lire. Elle te donne un identifiant fiable pour manipuler ces caractères, là où l'œil ne suffit plus à les distinguer.

Que tu travailles avec des émojis, des alphabets étrangers ou des symboles spéciaux, UNICODE te donne la clé pour comprendre et manipuler tous ces caractères : valider que des codes produits commencent par une majuscule, détecter des espaces insécables qui faussent tes comparaisons, classifier automatiquement des données multilingues.

Syntaxe

=UNICODE(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 UNICODE

1

texte

: le texte dont tu veux obtenir le code Unicode du premier caractère

Ce paramètre peut être une référence de cellule (A1), du texte entre guillemets ("A"), un émoji ("😀"), ou le résultat d'une autre fonction qui retourne du texte.

Quelques exemples de codes renvoyés : =UNICODE("A") retourne 65, =UNICODE("€") retourne 8364, =UNICODE("😀") retourne 128512. Les chiffres 0-9 ont les codes 48-57, les majuscules A-Z ont les codes 65-90.

Attention : Si tu appliques UNICODE à une cellule vide, tu obtiens #VALEUR!. Protège-toi avec =SI(A1=""; ""; UNICODE(A1)).

Le savais-tu ?
Un espace insécable (code 160) ou un espace de largeur zéro (code 8203) sont invisibles à l'œil mais font échouer silencieusement tes RECHERCHEV. UNICODE(GAUCHE(A1;1)) les trahit : dès qu'un code dépasse 127 sur ce qui semble du texte latin normal, tu tiens ton coupable.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment obtenir le code Unicode d'un caractère avec la fonction UNICODE

Tu récupères une liste de symboles collés depuis plusieurs sources et tu dois savoir précisément lequel est lequel, parce que deux caractères qui se ressemblent à l'écran ne sont pas le même caractère pour Excel. Chaque ligne porte un symbole dans la colonne Symbole, et tu veux le numéro qui l'identifie de façon certaine. La fonction UNICODE te donne ce numéro pour n'importe quel caractère, de la lettre latine au symbole monétaire.

Les étapes
  1. 1
    Dans une cellule, écris =UNICODE(.
  2. 2
    En 1er argument : clique sur la cellule qui porte le symbole à identifier, A2, où figure le A majuscule. La fonction ne lit que le premier caractère de ce que tu lui donnes. Si A2 contenait ABC, elle rendrait quand même 65, le code du seul A.
  3. 3
    Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour donner à chaque symbole son code.
Au final, ta formule devrait ressembler à ça :=UNICODE(A2)
Explication
Ici, la fonction UNICODE traduit le caractère de A2 en son numéro dans le standard Unicode : le A majuscule porte le code 65. Recopiée sur toute la colonne, elle identifie chaque symbole sans ambiguïté, y compris ceux que CODE ne sait pas lire (le ressort à 8364).
Exemple 2

Comment repérer un caractère invisible avec les fonctions UNICODE et GAUCHE

Ta RECHERCHEV renvoie #N/A sur quelques lignes d'un fichier fraîchement importé, alors que les noms concernés paraissent identiques à ceux de ta table de référence. Tu soupçonnes un caractère parasite collé au début de certaines cellules, invisible à l'œil nu. La fonction UNICODE met un numéro sur ce premier caractère et fait tomber le masque en une colonne.

Les étapes
  1. 1
    Dans une cellule, écris =UNICODE(.
  2. 2
    En 1er argument : écris l'extraction du premier caractère et referme-la, GAUCHE(A2; 1). La fonction UNICODE ne lit qu'un caractère, or A2 contient un nom entier ; la fonction GAUCHE en isole la première lettre, ici le L de Lefèvre.
  3. 3
    Ferme la parenthèse de la fonction UNICODE et appuie sur Entrée, puis recopie la formule sur toute la colonne. Celle de la fonction GAUCHE a déjà été refermée à l'étape précédente.
Voici la formule que tu obtiens à la fin :=UNICODE(GAUCHE(A2; 1))
Explication
La fonction GAUCHE isole le premier caractère du nom, et la fonction UNICODE le traduit en code. Tout le latin de base reste sous 127 : ligne 3, le code 160 révèle un espace insécable collé devant Moreau, alors que la cellule semble parfaitement normale à l'écran.
Exemple 3

Comment éviter l'erreur #VALEUR! de la fonction UNICODE sur une cellule vide

Ta colonne de codes est prête, mais elle se couvre de #VALEUR! dès qu'une ligne de saisie reste vide, et un tableau parsemé d'erreurs ne se présente à personne. Ton formulaire se remplit au fil de l'eau, donc les trous sont normaux et vont durer. Tu veux que la fonction UNICODE travaille uniquement sur les cellules réellement remplies et laisse les autres tranquilles.

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 1er argument : écris le test qui sert de garde-fou, A2="". Il demande si la cellule de saisie est vide, le seul cas où la fonction UNICODE échoue.
  3. 3
    En 2ᵉ argument : saisis la chaîne vide "", qui laisse la case propre au lieu d'une erreur quand la cellule n'est pas remplie.
  4. 4
    En 3ᵉ argument : écris le calcul du cas faux et referme-le, UNICODE(A2). Il ne s'exécute que sur les cellules réellement remplies et rend 8364 pour le de la première ligne.
  5. 5
    Ferme la parenthèse de la fonction SI et appuie sur Entrée. Celle de la fonction UNICODE a déjà été refermée à l'étape précédente.
Une fois les morceaux assemblés, ta formule donne ça :=SI(A2=""; ""; UNICODE(A2))
Explication
Une chaîne vide n'a aucun premier caractère à traduire : la fonction UNICODE abandonne et renvoie #VALEUR!. La fonction SI l'intercepte en amont, teste la cellule avant de l'envoyer à UNICODE, et affiche un vide propre plutôt qu'une erreur sur les lignes non saisies.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction UNICODE

Tu rencontreras surtout #VALEUR!, presque toujours dans le même cas : tu pointes UNICODE sur une cellule vide ou sur "", et comme elle n'a aucun premier caractère à lire, elle abandonne. Blinde ta colonne avec =SI(A1=""; ""; UNICODE(A1)). L'autre surprise n'affiche aucune erreur : =UNICODE("ABC") te renvoie 65, le code du seul A, et si tu confonds avec CODE, tes émojis et tes caractères cyrilliques ou arabes ressortent faux car CODE plafonne aux 255 premiers caractères ASCII.

Erreur #VALEUR! sur une cellule vide

UNICODE ne peut pas traiter une chaîne vide. Si la cellule passée en argument est vide ou contient "", Excel retourne #VALEUR!.

Solution : Protège la formule avec une condition : =SI(A1=""; ""; UNICODE(A1)) pour retourner une cellule vide plutôt qu'une erreur quand A1 est vide.

Confondre UNICODE et CODE pour les caractères étendus

CODE ne fonctionne que pour les 255 premiers caractères ASCII. Pour les émojis, les caractères cyrilliques, arabes, chinois ou tout caractère au-delà du code 255, CODE peut retourner un résultat incorrect ou une erreur.

Solution : Utilise UNICODE à la place de CODE dès que tes données peuvent contenir des caractères internationaux ou des émojis : =UNICODE("😀") retourne 128512 alors que CODE échoue.

UNICODE retourne toujours le code du premier caractère, pas de tous

Beaucoup pensent que UNICODE analyse tout le texte. En réalité, seul le code du premier caractère est retourné. =UNICODE("ABC") retourne 65, le code de A, pas un résultat sur les trois lettres.

Solution : Pour analyser chaque caractère d'une chaîne, utilise STXT pour extraire un caractère à la position voulue : =UNICODE(STXT(A1; 2; 1)) donne le code du deuxième caractère, =UNICODE(STXT(A1; 3; 1)) du troisième, et ainsi de suite.

L’erreur fatale
UNICODE ne lit que le premier caractère : UNICODE(« ABC ») renvoie 65, le code du seul A, pas un résultat sur les trois lettres. Pour analyser chaque caractère, extrais-le avec STXT, comme UNICODE(STXT(A1; 2; 1)) pour le deuxième.
Lucas, la mascotte du Dojo, compare deux fonctions Excel

UNICODE vs CODE vs UNICAR vs CAR

Tu choisis entre quatre fonctions selon le sens du voyage : UNICODE et CODE transforment un caractère en numéro, UNICAR et CAR font le chemin inverse. Ce qui les départage, c'est la portée : prends UNICODE (et UNICAR pour repartir vers le caractère) dès que tes données touchent à un émoji, à du cyrillique, de l'arabe ou du japonais, car ils montent jusqu'à 1 114 111. Ne garde CODE et CAR, bloqués à 255, que pour du vieux pur ASCII ou des bricoles comme CAR(10) pour un retour à la ligne.

CritèreUNICODECODEUNICARCAR
DirectionCaractère vers codeCaractère vers codeCode vers caractèreCode vers caractère
Plage supportée0 à 1 114 111 (tout Unicode)0 à 255 (ASCII uniquement)0 à 1 114 111 (tout Unicode)0 à 255 (ASCII uniquement)
Émojis et alphabets étrangers✅ Oui❌ Non✅ Oui❌ Non
Cas d'usage principalDonnées internationales, validation, détectionCompatibilité anciens systèmesGénération de symboles, émojisRetour à la ligne `CAR(10)`, tabulation
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec UNICODE

1Astuce

Détecte les caractères invisibles qui faussent tes RECHERCHEV

Un espace insécable (code 160) ou un espace de largeur zéro (code 8203) sont visuellement identiques à une cellule normale, mais font échouer silencieusement tes RECHERCHEV et tes comparaisons. =UNICODE(GAUCHE(A1;1)) te les trahit immédiatement : si le code est supérieur à 127 alors que la cellule « semble » contenir du texte latin normal, tu tiens ton coupable.
Nettoie ensuite avec SUPPRESPACE ou SUBSTITUE pour les retirer.

2Astuce

Valide des plages de caractères sans liste de référence

Plutôt que de lister tous les caractères autorisés dans une formule ou une validation de données, utilise UNICODE pour tester une plage de codes. Les chiffres 0-9 sont entre 48 et 57, les majuscules entre 65 et 90, les minuscules entre 97 et 122. =ET(UNICODE(A1)>=65; UNICODE(A1)<=90) vérifie en une formule qu'une cellule contient exactement une lettre majuscule.
Tu peux chaîner plusieurs ET/OU pour des règles métier plus complexes.

FAQ

Questions fréquentes

UNICODE supporte tous les caractères modernes (émojis, alphabets non-latins, symboles spéciaux) et retourne des codes jusqu'à 1 114 111, tandis que CODE est limité aux 255 premiers caractères ASCII. Pour des données internationales ou des symboles modernes, utilise toujours UNICODE.

Ressources

Pour aller plus loin

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

Tout voir