🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction NBCAR d'Excel — comptez les caractères et révélez les nuisances invisibles

|

Fonction NBCAR d'Excel — comptez les caractères et révélez les nuisances invisibles

En brefLEN(texte) renvoie le nombre de caractères d'une valeur — lettres, chiffres, ponctuation, et chaque espace et caractère invisible. Cette partie « chaque caractère » est tout l'intérêt : LEN est le débogueur du texte. Quand "Apple" refuse de correspondre à "Apple", un =LEN(A2) qui renvoie 6 au lieu de 5 vous apprend qu'il y a un espace final que vous ne pouviez pas voir. Au-delà du comptage, il alimente la validation, la fameuse astuce de comptage d'occurrences et l'extraction fondée sur la longueur.

Remarque : dans l'interface française, ces fonctions s'appellent NBCAR (LEN), LENB (LENB), SUBSTITUE (SUBSTITUTE), CODE (CODE), GAUCHE (LEFT), DROITE (RIGHT), STXT (MID), TROUVE (FIND) et TEXTE (TEXT). Dans les formules, seuls les noms anglais fonctionnent en coulisses ; nous employons ici les deux pour que vous vous repériez dans les menus.

=LEN("Apple")        ' -> 5
=LEN("Apple ")       ' -> 6   (l'espace final est bien réel — vous le voyez enfin)
=LEN(A2)<>9          ' VRAI signale les numéros de compte qui ne font pas 9 caractères
=LEN(A2)-LEN(SUBSTITUTE(A2,",",""))   ' combien de virgules dans A2

LEN est la fonction la plus modeste d'Excel et l'une des plus utiles, parce qu'elle est celle qui rend les problèmes invisibles visibles. Chaque mystère du type « ces deux cellules ont l'air identiques mais refusent de correspondre » se termine par un LEN qui revient un cran plus grand que prévu.

Ce que vous allez apprendre

  • Pourquoi LEN compte tout — et comment cela en fait un outil de diagnostic
  • Utiliser LEN pour valider des identifiants, codes et numéros de compte à largeur fixe
  • L'astuce LEN moins LEN pour compter les occurrences d'un caractère
  • Piloter LEFT/RIGHT/MID avec une longueur que LEN calcule
  • Pourquoi LEN ignore la mise en forme des nombres — et quand il vous faut LENB

Le modèle mental : LEN est une règle, pas un lecteur

LEN ne comprend pas votre texte — il le mesure, tout simplement. Il pose une règle le long de la chaîne et rapporte combien de caractères s'y trouvent, sans faire aucune distinction entre une lettre visible et un espace final invisible. Cette indifférence est précisément ce qui le rend précieux. Vos yeux sautent les espaces ; LEN, non.

L'usage premier de LEN n'est donc pas « quelle est la longueur de ce mot ». C'est « cette cellule est-elle bien ce que je crois ? » Quand quelque chose se comporte mal en aval — une recherche échoue, une comparaison rate, un identifiant paraît valide mais est rejeté — LEN est la première sonde :

=LEN(A2)      ' attendu 5, obtenu 6 ? -> caractère caché. Allez maintenant le trouver.

Associez-le à TRIM pour confirmer le diagnostic : si =LEN(A2) vaut 6 mais =LEN(TRIM(A2)) vaut 5, le caractère en trop était un espace normal. Si TRIM ne le fait pas redescendre, vous avez un CHAR(160) ou un caractère de contrôle — allez vérifier avec =CODE(...).

Validation : attraper les données incorrectes par leur longueur

Une énorme partie des données du monde réel a une longueur connue — un numéro de compte à 9 chiffres, un code de devise à 3 lettres, un identifiant de facture à 13 caractères, une carte à 16 chiffres. LEN transforme cette attente en filtre :

=LEN(A2)<>9                    ' signale les numéros de compte de mauvaise longueur
=IF(LEN(A2)=3, "ok", "check")  ' les codes de devise doivent faire exactement 3 lettres
=SUMPRODUCT(--(LEN(A2:A100)<>13))   ' combien d'identifiants de facture sont mal formés ?

Cela attrape toute une classe d'erreurs d'import — un chiffre perdu, un code tronqué, un caractère égaré ajouté — qu'aucun examen à l'œil ne trouvera de façon fiable. La longueur est un contrôle d'intégrité peu coûteux et robuste, et LEN est le moyen de l'appliquer sur toute une colonne d'un coup. Enveloppez-le dans une mise en forme conditionnelle pour faire ressortir les lignes fautives.

L'astuce classique : compter les occurrences avec LEN

L'idiome LEN le plus réutilisé n'a rien à voir directement avec la longueur. Pour compter combien de fois un caractère apparaît dans une cellule, retirez-le avec SUBSTITUTE et mesurez de combien la chaîne a raccourci :

' combien de virgules dans A2 ?
=LEN(A2) - LEN(SUBSTITUTE(A2, ",", ""))

' combien de mots ? (texte à espacement simple : espaces + 1)
=LEN(TRIM(A2)) - LEN(SUBSTITUTE(TRIM(A2), " ", "")) + 1

Chaque virgule supprimée raccourcit la chaîne de un, donc la différence est le compte. C'est le genre d'idée latérale qui, une fois comprise, vous servira encore et encore — compter les délimiteurs avant un découpage, compter les mots, vérifier la cohérence d'un champ CSV.

Piloter l'extraction : LEN calcule « combien »

LEN est l'arithmétique derrière l'extraction dynamique avec LEFT/RIGHT/MID, où la quantité à prélever n'est pas fixe mais dépend de la chaîne :

' tout sauf les 4 derniers caractères
=LEFT(A2, LEN(A2) - 4)

' retirer un préfixe connu de 3 caractères comme "ID-"
=RIGHT(A2, LEN(A2) - 3)

' l'extension de fichier après le dernier point (couplé à FIND/SUBSTITUTE)
=RIGHT(A2, LEN(A2) - FIND("~", SUBSTITUTE(A2, ".", "~", LEN(A2)-LEN(SUBSTITUTE(A2,".","")))))

Chaque fois que vous vous surprenez à coder en dur un nombre de caractères dans LEFT/RIGHT, demandez-vous si LEN(A2) - quelque_chose l'exprime de façon plus robuste — cela survit à des lignes de longueurs différentes, là où un nombre figé tronque en silence.

Le piège : LEN voit la valeur, pas le format

Une surprise fréquente : LEN mesure la valeur sous-jacente, pas ce que la cellule affiche. La mise en forme des nombres — symboles monétaires, séparateurs de milliers, décimales, dates affichées en texte — est une couche d'affichage que LEN ignore :

=LEN(1000)        ' -> 4, même si la cellule affiche "1 234,50 €" (ex. "$1,000.00")
=LEN(0.5)         ' -> 3  ("0.5"), même si affiché en "50 %"
=LEN(TODAY())     ' -> 5  (le numéro de série, ex. "46204"), pas "2026-07-06"

Si vous avez besoin de la longueur de la chaîne affichée, convertissez-la d'abord en texte avec TEXT : =LEN(TEXT(A2, "$#,##0.00")). Et pour le texte à double octet — japonais, chinois, coréen — sachez que LEN compte chaque caractère comme 1, tandis que LENB compte les octets (souvent 2 par caractère CJK) ; utilisez LENB quand un système en aval mesure en octets.

Le choix de méthode

LEN mérite sa place de deux façons. En tant qu'outil de diagnostic, c'est la première chose à saisir quand un texte « a l'air bon mais agit mal » — un compte inattendu est la preuve de caractères cachés, et il vous oriente vers TRIM/CLEAN. En tant que brique de construction, il alimente la validation (LEN(A2)<>n), le comptage (LEN moins LEN) et l'extraction dynamique (LEN(A2)-k). Ce qu'il n'est pas, c'est un moyen de mesurer un affichage mis en forme — pour cela, convertissez d'abord en texte. Gardez ces deux rôles au clair et LEN devient le petit outil que vous utilisez dix fois par jour.

Comment ExcelMaster vous aide

Quand une recherche échoue sur des valeurs qui semblent identiques, la correction commence par un diagnostic que la plupart des gens sautent — la longueur est-elle celle attendue ? ExcelMaster effectue ce contrôle pour vous : il compare LEN à LEN(TRIM(...)), identifie le caractère caché par son code, et écrit le nettoyage qui fait fonctionner la correspondance. Et quand vous avez besoin d'une extraction ou d'une validation pilotées par la longueur sur toute une colonne, il construit la formule fondée sur LEN au lieu de vous laisser compter les caractères à la main. Décrivez le symptôme ; il mesure, diagnostique et corrige.

Foire aux questions

Que fait la fonction NBCAR dans Excel ?

LEN(texte) renvoie le nombre de caractères d'une valeur, en comptant les lettres, les chiffres, la ponctuation, les espaces et même les caractères invisibles. =LEN("Apple") renvoie 5. Son usage le plus précieux est diagnostique : un compte inattendu révèle des espaces finaux cachés ou des caractères non imprimables.

NBCAR compte-t-il les espaces ?

Oui — LEN compte chaque caractère, y compris les espaces de début, de fin et internes, ainsi que les caractères non imprimables comme CHAR(160). C'est pourquoi =LEN("Apple ") renvoie 6, pas 5, et pourquoi LEN est l'outil pour détecter les espaces que vous ne voyez pas.

Comment compter combien de fois un caractère apparaît dans une cellule ?

Soustrayez la longueur après l'avoir retiré : =LEN(A2)-LEN(SUBSTITUTE(A2,",","")) compte les virgules dans A2. Retirer chaque occurrence raccourcit la chaîne du nombre d'occurrences, donc la différence est le compte.

Pourquoi NBCAR renvoie-t-il la mauvaise longueur pour un nombre mis en forme ?

LEN mesure la valeur sous-jacente, pas le format affiché. =LEN(1000) vaut 4 même quand la cellule affiche $1,000.00, parce que le symbole monétaire et les séparateurs sont de la mise en forme, pas des données. Pour compter les caractères affichés, convertissez d'abord avec TEXT : =LEN(TEXT(A2,"$#,##0.00")).

Quelle est la différence entre NBCAR et LENB ?

LEN compte les caractères (chacun compte pour 1). LENB compte les octets, où les caractères à double octet — japonais, chinois, coréen — comptent pour 2. Utilisez LENB uniquement quand un système en aval mesure la longueur de chaîne en octets ; pour un comptage de caractères normal, utilisez LEN.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 06/07/2026.

Guides associés : Excel SUPPRESPACE et EPURAGE · Excel SUBSTITUE et REMPLACER · Excel GAUCHE, DROITE et STXT · Excel MAJUSCULE, MINUSCULE et NOMPROPRE