Qu'est-ce que la fonction NBCAR ?
NBCAR (LEN en anglais) est ta fonction de référence pour compter le nombre de caractères dans un texte. Que tu valides le format d'un code postal, contrôles la longueur d'un mot de passe, vérifies des numéros de sécurité sociale ou mesures la taille de descriptions produits, NBCAR est là. Elle compte tout sans exception : lettres, chiffres, espaces, ponctuation, symboles et même les sauts de ligne.
Concrètement, c'est elle qui signale les codes postaux trop courts avant un import en base de données, qui identifie les descriptions e-commerce trop longues pour l'affichage mobile, qui valide les SIRET ou les numéros de sécu, ou encore qui sert de base pour compter les mots dans un commentaire client. Fini les validations manuelles qui prennent des heures.

Comprendre chaque paramètre de la fonction NBCAR
texte
: le texte dont tu veux connaître la longueurÇa peut être une référence de cellule comme A1, du texte entre guillemets comme "Bonjour", ou le résultat d'une autre formule qui retourne du texte. Si tu fournis un nombre, Excel le convertit automatiquement en texte avant de compter.
NBCAR compte tous les caractères sans exception : lettres majuscules et minuscules, chiffres, espaces (y compris ceux en début et fin de texte), signes de ponctuation, caractères spéciaux et sauts de ligne (chacun compte pour 1 caractère). Si une cellule est vide, NBCAR renvoie 0.

Exemples pratiques pas à pas
Comment compter les caractères d'une cellule avec la fonction NBCAR
Un fichier d'adresses arrive d'un export et personne ne sait s'il est propre. Tu as une liste de villes avec leur département, leur région et leur code postal, et tu veux d'abord savoir combien de caractères contient réellement chaque code avant d'en faire quoi que ce soit. NBCAR lit le contenu d'une cellule et te renvoie ce nombre de caractères.
- 1Dans une cellule, écris
=NBCAR(. - 2En 1er argument : clique sur la cellule du code postal à mesurer,
D2. C'est le seul argument que la fonction attend, et rien d'autre ne vient après lui. Pointer la cellule plutôt que taper le code entre guillemets garde la formule liée au tableau, si bien qu'elle se met à jour dès que le contenu deD2change. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Chaque ligne mesure alors le code postal qui lui correspond, et la colonne entière devient contrôlable en un coup d'œil.
=NBCAR(D2)D2 contient 69003, donc la formule renvoie 5. NBCAR compte tous les caractères sans exception, espaces compris : un code postal français en fait exactement 5, et c'est ce chiffre qui sert ensuite de référence pour contrôler toute la colonne.Comment repérer un code postal invalide avec la fonction NBCAR dans un SI
Un import d'adresses qui part avec des codes postaux tronqués, c'est un courrier sur dix qui revient. Sur la même liste de villes, tu veux une colonne de contrôle qui signale toute seule les codes dont la longueur n'est pas de 5 caractères. NBCAR fournit le décompte et SI le transforme en verdict lisible.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la comparaison qui départage les codes valides des autres,
NBCAR(D2)=5. NBCAR mesure le code postal de la ligne, et le=5confronte ce décompte au format attendu. La parenthèse de NBCAR se referme ici même, avant le point-virgule qui introduit l'argument suivant. - 3En 2ᵉ argument : saisis le texte à afficher quand la longueur est conforme,
"OK". Les guillemets sont indispensables pour qu'Excel traite ces deux lettres comme du texte. Sans eux, il y verrait un nom de plage qui n'existe pas et renverrait#NOM?. - 4En 3ᵉ argument : saisis le texte qui couvre tous les autres cas,
"À corriger". Il s'affiche aussi bien pour un code trop court que pour un code trop long, puisque la comparaison est fausse dès que le décompte n'est pas exactement 5. - 5Ferme la parenthèse et appuie sur Entrée. Seule celle de la fonction SI reste ouverte à ce stade, puisque celle de NBCAR a été refermée dès le premier argument.
=SI(NBCAR(D2)=5;"OK";"À corriger")D2 contient 1000 : NBCAR y compte 4 caractères, la condition =5 est fausse et la formule affiche À corriger. Le zéro initial de 01000 a sauté à l'export, et c'est exactement le genre d'anomalie qu'un simple coup d'œil ne voit pas. Digne-les-Bains tombe dans le même cas avec 4000, tandis que les codes à 5 caractères ressortent en OK.Comment extraire la fin d'un texte de longueur variable avec la fonction NBCAR combinée à DROITE
Des références clients préfixées par un code pays, ça ne se rapproche d'aucun autre fichier tant que le préfixe reste collé. Tu as une colonne de références du type FR-750011245 et tu veux isoler l'identifiant qui suit le tiret, sachant qu'il ne fait jamais la même longueur d'une ligne à l'autre. NBCAR mesure la référence entière pour dire à DROITE combien de caractères garder.
- 1Dans une cellule, écris
=DROITE(. - 2En 1er argument : clique sur la cellule de la référence complète,
A2. C'est dans cette chaîne entière, préfixe inclus, que la fonction va prélever ses caractères. - 3En 2ᵉ argument : écris le calcul qui fixe le nombre de caractères à garder,
NBCAR(A2)-3. NBCAR mesure la référence de la ligne, et la soustraction retire ce qui précède l'identifiant. Le3correspond exactement aux trois caractères du préfixeFR-, tiret compris. - 4Ferme la parenthèse et appuie sur Entrée. Celle de NBCAR ayant déjà été refermée à l'intérieur du calcul, il n'en reste qu'une seule à clore.
=DROITE(A2;NBCAR(A2)-3)A2 contient FR-750011245, soit 12 caractères. NBCAR renvoie ce 12, on retire les 3 caractères du préfixe FR- et DROITE récupère les 9 derniers, donc 750011245. Comme le calcul repose sur la longueur réelle de chaque cellule, la formule s'adapte toute seule à FR-69003 comme à FR-590001234.
Les erreurs fréquentes avec la fonction NBCAR
NBCAR ne renvoie jamais de code d'erreur, et c'est justement ce qui piège : elle compte tout, même ce que tu ne vois pas. Le cas qui revient le plus souvent, ce sont les espaces invisibles collés par un copier-coller, qui te donnent 7 là où tu attendais 5. Avant de te fier au chiffre, demande-toi toujours si ce que tu mesures est bien ce que tu crois mesurer.
Espaces invisibles qui faussent le comptage
Les espaces en début ou fin de texte, souvent créés lors de copier-coller depuis un site web ou un autre outil, s'ajoutent silencieusement. Tu attends 5 caractères pour "Paris" mais NBCAR retourne 7 parce qu'il y a un espace avant et après : " Paris ".
Solution : Enveloppe ton texte dans SUPPRESPACE avant de compter : =NBCAR(SUPPRESPACE(A1)). Cette fonction supprime les espaces parasites en début/fin et réduit les espaces multiples en un seul.
Cellule vide renvoie 0 au lieu de rester vide
Si la cellule source est vide, NBCAR renvoie 0 et non une erreur. Ça fausse les statistiques si tu calcules une moyenne de longueurs et que tu veux exclure les cellules non renseignées.
Solution : Conditionne le calcul : =SI(A1="";"";NBCAR(A1)). Si A1 est vide, la formule renvoie une cellule vide plutôt que 0, et tes moyennes restent justes.
Confusion entre NBCAR et NB.VIDE
NBCAR compte les caractères à l'intérieur d'une cellule. NB.VIDE compte le nombre de cellules vides dans une plage. Les deux noms se ressemblent, mais ils opèrent à des niveaux totalement différents.
Solution : Retiens la distinction : NBCAR travaille sur le contenu d'une seule cellule et renvoie un entier. NB.VIDE travaille sur une plage de cellules et compte celles qui sont vides. Vérifie ton besoin avant d'écrire la formule.

NBCAR vs GAUCHE vs DROITE vs STXT vs SUPPRESPACE
Prends NBCAR quand tu veux mesurer sans toucher au texte : c'est la seule du lot qui renvoie un nombre et ne modifie rien. Dès que ton but est d'extraire un bout de chaîne (GAUCHE, DROITE, STXT) ou de la nettoyer (SUPPRESPACE), tu changes de famille. D'ailleurs ces fonctions se marient très bien : NBCAR sert souvent à calculer combien de caractères donner à GAUCHE ou DROITE.
| Critère | NBCAR | GAUCHE | DROITE | STXT | SUPPRESPACE |
|---|---|---|---|---|---|
| Fonction principale | Compter les caractères | Extraire à gauche | Extraire à droite | Extraire au milieu | Nettoyer les espaces |
| Type de retour | Nombre | Texte | Texte | Texte | Texte |
| Modifie le texte | ❌ Non | ✅ Extrait | ✅ Extrait | ✅ Extrait | ✅ Nettoie |
| Nombre de paramètres | 1 | 2 | 2 | 3 | 1 |
| Usage typique | Validation longueur | Code postal, préfixe | Extension fichier | Extraction précise | Nettoyage données |

Astuces avancées avec NBCAR
Compter le nombre de mots dans un texte
Il n'existe pas de fonction native pour compter les mots, mais tu peux déduire le nombre de mots en comptant les espaces et en ajoutant 1 : =NBCAR(SUPPRESPACE(A1))-NBCAR(SUBSTITUE(SUPPRESPACE(A1);" ";""))+1. L'astuce : on soustrait la longueur sans espaces de la longueur avec espaces, ce qui donne le nombre d'espaces = nombre de mots moins 1.
Parfait pour analyser des commentaires ou des réponses ouvertes et détecter celles qui sont trop courtes.
Détecter les cellules contenant des sauts de ligne
Pour trouver les cellules avec des sauts de ligne internes (insérés avec Alt+Entrée), compare la longueur avant et après avoir retiré le caractère de retour : =NBCAR(A1)<>NBCAR(SUBSTITUE(A1;CAR(10);"")). Si le résultat est VRAI, la cellule contient au moins un saut de ligne.
Utile pour nettoyer des imports où des retours à la ligne cachés faussent les tris et les comparaisons.
Retirer une extension de fichier dynamiquement
Pour extraire le nom de fichier sans son extension, combine GAUCHE et NBCAR : =GAUCHE(A1;NBCAR(A1)-NBCAR(SUBSTITUE(A1;".";""))) retire tout ce qui suit le dernier point. Pour rapport_2024.xlsx, ça retourne rapport_2024.xl, ce qui montre que pour un seul point la formule =GAUCHE(A1;CHERCHE(".";A1)-1) suffit.
La version avec NBCAR est utile quand les noms de fichiers peuvent contenir plusieurs points.
Questions fréquentes
Oui, NBCAR compte chaque espace comme un caractère à part entière. Si tu écris "Bonjour toi" (11 caractères avec l'espace), NBCAR retourne 11.
C'est important à savoir quand tu valides des formats de données : un code postal "750 01" avec un espace au milieu retournera 6 et non 5. Utilise SUBSTITUE pour retirer les espaces avant de compter si tu veux la longueur hors espaces.
NBCAR compte les caractères, tandis que LENB compte les octets. Pour les langues occidentales (français, anglais), les deux retournent la même valeur car chaque caractère tient sur un octet. Pour les langues asiatiques où un caractère peut occuper deux octets, LENB retourne le double de NBCAR. Dans la quasi-totalité des usages bureautiques courants en français, NBCAR est la bonne fonction.
Oui, Excel convertit automatiquement les nombres en texte avant de les compter. Si ta cellule contient 12345, NBCAR retourne 5 (cinq chiffres).
C'est très pratique pour valider des codes numériques comme des numéros SIRET (14 chiffres), des codes EAN (13 chiffres) ou des numéros de sécurité sociale (15 chiffres).
Combine NBCAR avec SUBSTITUE pour retirer les espaces avant de compter : =NBCAR(SUBSTITUE(A1;" ";"")). Cette formule remplace tous les espaces par rien, puis compte ce qui reste.
Si tu veux retirer plusieurs types de caractères (espaces et tirets par exemple), imbrique plusieurs SUBSTITUE : =NBCAR(SUBSTITUE(SUBSTITUE(A1;" ";"");"-";"")).
Oui, avec la validation de données. Va dans Données > Validation, choisis "Personnalisé" et entre =NBCAR(A1)<=50 pour limiter à 50 caractères maximum. Si l'utilisateur saisit plus, Excel affiche un message d'erreur et bloque la validation.
C'est parfait pour respecter des contraintes de bases de données ou de formulaires web sans devoir vérifier manuellement chaque cellule.
Pour aller plus loin
Continue sur ta lancée après la fonction NBCAR : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



