Qu'est-ce que la fonction ASC ?
ASC te sert dès qu'un code ou une référence venu d'un système japonais, chinois ou coréen refuse de matcher avec ta base, alors qu'à l'écran les deux textes semblent parfaitement identiques : c'est la largeur des caractères qui les distingue, invisible à l'œil mais bien réelle pour Excel.
Si tu travailles avec des données provenant de systèmes japonais, chinois ou coréens, ASC peut t'aider à normaliser les textes pour faciliter les comparaisons et les recherches. Un code produit reçu en pleine largeur comme ABC-123 sera converti en ABC-123 standard, ce qui permet ensuite de le retrouver dans ta base avec RECHERCHEV ou EQUIV.
Syntaxe
=ASC(texte)Clique sur un argument pour aller à son explication.
ASC ne supprime pas les espaces ni les caractères non imprimables. Pour un nettoyage complet, combine ASC avec SUPPRESPACE et EPURAGE : =SUPPRESPACE(EPURAGE(ASC(A1))).

Comprendre chaque paramètre de la fonction ASC
texte
: le texte ou la référence de cellule contenant les caractères à convertirLes caractères pleine largeur comme A, 1, @ seront convertis en A, 1, @. Les lettres, chiffres et symboles courants ont tous leur équivalent demi-largeur.
ASC fonctionne aussi sur les katakana japonais : les katakana pleine largeur (カタカナ) sont convertis en katakana demi-largeur (カタカナ). En revanche, les idéogrammes (kanji, hanzi, hangul) n'ont pas d'équivalent demi-largeur et ne sont pas modifiés.

Exemples pratiques pas à pas
Comment convertir des caractères pleine largeur en demi-largeur avec la fonction ASC
Tes fournisseurs japonais t'envoient des références saisies en pleine largeur, une habitude de leurs systèmes où les lettres latines sont élargies pour s'aligner sur la grille des idéogrammes. Ta base interne, elle, stocke les mêmes références en caractères latins ordinaires. Les deux codes s'affichent presque identiquement à l'écran, pourtant aucun rapprochement ne fonctionne entre eux. La fonction ASC ramène les caractères élargis à leur version standard et réconcilie les deux sources.
- 1Dans une cellule, écris
=ASC(. - 2En 1er argument : clique sur la cellule qui porte le code reçu du fournisseur,
A2. Elle contientABC-123, tel que le fournisseur l'a saisi en pleine largeur. La fonction ne rétrécit que les caractères qui existent dans les deux largeurs, si bien que les espaces en trop, les caractères non imprimables et les idéogrammes ressortent tels qu'ils sont entrés. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule sur toute la colonne. La colonne d'origine reste à côté comme trace de ce que le fournisseur a réellement envoyé. Si les codes calculés sortent encore en pleine largeur, la formule n'est pas en cause : sur un Excel où aucune langue d'Asie de l'Est n'est activée, la fonction rend le texte inchangé.
=ASC(A2)ABC-123 et ABC-123 se lisent pareil pour toi, mais ce sont deux textes différents pour Excel, et c'est ce désaccord que la colonne normalisée fait disparaître.Comment retrouver un code pleine largeur dans une table avec les fonctions ASC et RECHERCHEV
Tu dois rapprocher les codes reçus de ton catalogue interne pour retrouver la désignation de chaque article. Comme les codes arrivent en pleine largeur et que le catalogue est en caractères ordinaires, ta recherche échoue sur toutes les lignes alors que les deux colonnes affichent visiblement le même code. Plutôt que d'ajouter une colonne intermédiaire de codes convertis à maintenir, tu normalises la valeur cherchée directement à l'intérieur de la formule de recherche.
- 1Dans une cellule, écris
=RECHERCHEV(. - 2En 1er argument : écris la conversion du code à retrouver et referme-la,
ASC(A2). Le code élargi est ainsi ramené en caractères ordinaires au moment même de la comparaison, sans colonne intermédiaire à créer puis à entretenir. - 3En 2ᵉ argument : sélectionne la table où chercher,
C:D. La fonction compare toujours le code à la première colonne de cette table, ici les références du catalogue, qui sont déjà en caractères ordinaires. C'est cette forme-là qu'il faut obtenir du côté du code reçu, et pas l'inverse. - 4En 3ᵉ argument : saisis le rang de la colonne qui porte la désignation,
2. Ce numéro se compte depuis la gauche de la table sélectionnée, où la colonne C vaut 1 et la colonne D vaut 2. - 5En 4ᵉ argument : saisis la valeur qui impose une correspondance exacte,
FAUX. C'est parce que la comparaison doit tomber au caractère près que la largeur compte, et c'est là que la conversion écrite juste avant gagne son utilité. - 6Ferme la parenthèse et appuie sur Entrée, puis recopie la formule sur les lignes suivantes. La référence
A2descend d'une ligne à chaque fois, si bien que chaque code reçu est converti juste avant d'être cherché.
=RECHERCHEV(ASC(A2); C:D; 2; FAUX)#N/A alors que le code est bel et bien dans la table, et c'est une erreur pénible à diagnostiquer justement parce que les deux textes semblent identiques à l'écran.
Les erreurs fréquentes avec la fonction ASC
ASC ne fait qu'une chose : convertir la largeur des caractères. Du coup ce qu'on lui reproche, c'est souvent ce qu'elle ne fait PAS. Elle laisse les kanji, hanzi et hangul intacts parce qu'ils n'ont tout simplement pas de version demi-largeur dans Unicode, et elle ne touche ni aux espaces parasites ni aux caractères non imprimables qui voyagent avec les données asiatiques.
ASC renvoie le texte exactement tel quel, sans rien convertir
C'est le cas le plus fréquent sur un Excel français, et ce n'est pas une erreur de formule : ASC n'agit que si une langue d'Asie de l'Est (japonais, chinois, coréen) est activée dans les paramètres linguistiques d'Office. Sans elle, la fonction existe, elle s'écrit, elle ne renvoie aucune erreur, mais elle rend le texte inchangé. Vérifié : =UNICODE(GAUCHE(ASC("ABC");1)) donne 65313 (le A pleine largeur) au lieu de 65 (le A standard). La fonction jumelle JIS, elle, n'est carrément pas reconnue tant que la langue n'est pas activée.
Solution : Ajoute une langue d'Asie de l'Est dans Fichier → Options → Langue, puis redémarre Excel. Si tu ne peux pas modifier les paramètres d'Office, remplace ASC par une cascade de SUBSTITUE sur les caractères que tu rencontres réellement : =SUBSTITUE(SUBSTITUE(A1;"A";"A");"1";"1"). C'est fastidieux mais indépendant de la configuration, donc le classeur reste juste chez tes collègues.
Les kanji et idéogrammes restent inchangés
Les idéogrammes chinois et japonais (kanji, hanzi) et les caractères hangul coréens n'ont pas d'équivalent demi-largeur dans le standard Unicode. ASC les laisse donc intacts, ce qui peut sembler une non-conversion.
Solution : Vérifie que les caractères que tu veux convertir sont bien des lettres latines, des chiffres, des symboles ou des katakana. Si tu as besoin de traiter des idéogrammes, utilise une approche différente (SUBSTITUE ou script VBA personnalisé).
ASC ne supprime pas les espaces ou caractères parasites
ASC est spécialisée sur la conversion pleine largeur / demi-largeur uniquement. Elle ne traite pas les espaces insécables, les espaces multiples ou les caractères non imprimables qui peuvent accompagner les données asiatiques.
Solution : Combine ASC avec SUPPRESPACE et EPURAGE pour un nettoyage complet : =SUPPRESPACE(EPURAGE(ASC(A1))). Cette combinaison couvre les conversions de largeur, la suppression des espaces superflus et l'élimination des caractères non imprimables.
Questions fréquentes
ASC convertit les caractères pleine largeur (fullwidth) en caractères demi-largeur (halfwidth). C'est particulièrement utile pour normaliser des textes contenant des caractères asiatiques (japonais, chinois, coréen) où les caractères latins peuvent être en pleine largeur pour des raisons esthétiques. Dans un contexte professionnel, elle est surtout utilisée pour préparer des données reçues de systèmes asiatiques avant de les comparer ou de les rechercher dans une base de référence.
Les caractères pleine largeur occupent deux fois plus d'espace horizontal que les caractères demi-largeur standard. Par exemple, A (pleine largeur) vs A (demi-largeur). Cette distinction est courante dans les systèmes d'écriture asiatiques pour aligner visuellement les caractères latins avec les idéogrammes.
Visuellement ils peuvent sembler identiques, mais Excel les traite comme des caractères différents : ABC ne correspond pas à ABC dans une RECHERCHEV standard.
La fonction JIS (ou DBCS selon les versions) fait l'inverse : elle convertit les caractères demi-largeur en pleine largeur. Utilise JIS quand tu veux obtenir un alignement visuel uniforme avec des textes asiatiques, par exemple pour un export vers un système japonais. Dans les versions récentes d'Excel, JIS peut aussi s'appeler DBCS. Les deux fonctions se complètent.
ASC fonctionne uniquement sur les caractères qui ont une version pleine largeur. Les caractères latins standard, les chiffres et certains symboles ne sont pas affectés s'ils sont déjà en demi-largeur. Les idéogrammes (kanji, hanzi, hangul) ne sont pas convertis car ils n'ont pas de version demi-largeur. En pratique, les caractères affectés sont les lettres latines pleine largeur (codes Unicode U+FF01 à U+FF5E) et les katakana pleine largeur.
Non, ASC est une fonction spécifique à Microsoft Excel. Dans Google Sheets, tu devras utiliser une combinaison de REGEXREPLACE ou un script Apps Script personnalisé pour obtenir un résultat similaire. Cette fonction est principalement utile dans les contextes où Excel est utilisé avec des données de systèmes asiatiques. Si tu travailles dans Google Sheets avec de telles données, la meilleure approche est de traiter la normalisation en amont, avant l'import.
Imbrique ASC directement dans le premier argument de RECHERCHEV : =RECHERCHEV(ASC(A1); tableau; col; FAUX). Cela normalise la valeur recherchée à la volée sans créer de colonne intermédiaire.
Si ta table de référence contient aussi des caractères pleine largeur, crée une colonne helper avec =ASC() appliquée sur la colonne de référence, puis fais ta RECHERCHEV sur cette colonne normalisée.
Pour aller plus loin
Continue sur ta lancée après la fonction ASC : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



