Qu'est-ce que la fonction NBVAL ?
NBVAL (COUNTA en anglais) te sert de premier réflexe face à un tableau tout juste importé ou un formulaire en cours de remplissage : avant même d'analyser quoi que ce soit, tu veux savoir combien de lignes contiennent réellement une donnée, sans les parcourir une à une à l'œil ni te fier à ce qui semble rempli à l'écran.
Cette fonction est indispensable pour auditer la qualité de tes données, valider des formulaires ou simplement compter des éléments dans une liste. Elle te permet de repérer instantanément les données manquantes et de calculer des statistiques de complétude.

Comprendre chaque paramètre de la fonction NBVAL
valeur1
: la première valeur, plage ou référence à évaluerTu peux mettre une cellule unique, une plage comme A1:A1000, ou même une valeur directe. NBVAL compte tout ce qui n'est pas une cellule complètement vide.
[valeur2]
: valeurs, plages ou références supplémentaires à inclure dans le comptage(facultatif)Tu peux en ajouter jusqu'à 254. Pratique pour compter sur plusieurs colonnes ou plusieurs feuilles à la fois.

Exemples pratiques pas à pas
Comment compter les candidatures reçues avec la fonction NBVAL
Un suivi de recrutement se remplit au fil de l'eau et personne ne sait plus combien de dossiers sont réellement arrivés, ce qui fausse le reporting envoyé au manager. Le tableau réserve 18 lignes aux candidatures, mais toutes ne sont pas servies, et l'objectif est d'obtenir le vrai volume reçu. NBVAL parcourt la colonne des candidats et compte toutes les cellules qui ne sont pas vides.
- 1Dans une cellule, écris
=NBVAL(. - 2En 1er argument : sélectionne la colonne des candidats sur toute la hauteur réservée au suivi,
A2:A19. NBVAL passe sur chacune de ces cellules et garde celles qui contiennent quelque chose, sans se soucier du type de la valeur. La plage descend volontairement plus bas que la dernière candidature saisie, ce qui laisse le compte se mettre à jour tout seul quand de nouveaux dossiers arrivent. - 3Ferme la parenthèse et appuie sur Entrée.
=NBVAL(A2:A19)A2:A19 couvre 18 lignes, et pourtant le résultat affiche 13 : cinq cellules sont restées vides parce que les candidatures correspondantes n'ont jamais été saisies. NBVAL retient uniquement les 13 cellules qui contiennent quelque chose, qu'il s'agisse d'un nom, d'un nombre ou d'une date. C'est ce qui la distingue de NB, qui ne compte que les nombres et renverrait 0 sur une colonne de noms.Comment vérifier qu'une fiche client est complète en combinant SI et la fonction NBVAL
Un bon de commande parti avec un champ manquant, et c'est la facture qui n'arrive jamais au bon destinataire. La fiche compte 5 champs obligatoires en colonne B, et l'objectif est d'afficher un verdict lisible avant l'envoi plutôt que de relire ligne par ligne. NBVAL compte les champs réellement remplis et SI transforme ce nombre en « Complet » ou « Incomplet ».
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la condition à vérifier,
NBVAL(B2:B6)=5. NBVAL compte les champs réellement remplis de la colonne B, et ce total est comparé aux 5 champs obligatoires de la fiche. La condition n'est donc vraie que lorsque aucune ligne n'a été oubliée. - 3En 2ᵉ argument : saisis le texte à afficher quand la condition est vraie,
"Complet". Les guillemets sont obligatoires pour qu'Excel affiche le mot tel quel : sans eux, il y voit un nom défini qui n'existe pas et renvoie#NOM?. - 4En 3ᵉ argument : saisis le texte à afficher quand la condition est fausse,
"Incomplet". C'est ce verdict qui sort ici, puisque l'email n'a pas été saisi, et il repassera à « Complet » dès que le champ manquant sera rempli. - 5Ferme la parenthèse et appuie sur Entrée.
=SI(NBVAL(B2:B6)=5; "Complet"; "Incomplet")=5 est donc faux et SI renvoie « Incomplet ». Le verdict se met à jour tout seul dès que le champ manquant est complété.Comment calculer un taux de réponse en combinant LIGNES et la fonction NBVAL
Un taux de satisfaction calculé sur des questions à moitié désertées ne veut plus dire grand-chose, et personne ne le voit avant la réunion. Le tableau réunit 4 participants et 3 questions, avec des cases laissées vides, et l'objectif est de mesurer la participation question par question. NBVAL compte les réponses réellement données et LIGNES fournit le nombre de participants attendus.
- 1Dans une cellule, écris
=NBVAL(. - 2En 1er argument : sélectionne la colonne des réponses à la première question,
B2:B5. NBVAL y compte les cellules remplies et laisse de côté celles que les participants ont sautées, ce qui donne le nombre de réponses effectivement obtenues. - 3Ferme la parenthèse, complète par
/LIGNES(B2:B5)*100, puis appuie sur Entrée. LIGNES renvoie la hauteur de la même plage, soit le nombre de participants interrogés, et la multiplication par 100 affiche le rapport en pourcentage.
=NBVAL(B2:B5)/LIGNES(B2:B5)*100LIGNES(plage) plutôt que par un 4 écrit en dur garde le taux juste le jour où le sondage s'allonge.Comment compter sur plusieurs plages à la fois avec la fonction NBVAL
Un dossier incomplet qui remonte trop tard, et c'est toute la validation qui prend une semaine de retard. Le tableau suit 4 dossiers et deux pièces obligatoires par dossier, et l'objectif est de connaître le nombre total de documents déjà reçus. NBVAL accepte jusqu'à 254 plages et fait la somme des cellules remplies de chacune.
- 1Dans une cellule, écris
=NBVAL(. - 2En 1er argument : sélectionne la colonne des pièces d'identité déposées,
B2:B5. NBVAL y compte les dossiers pour lesquels le document a bien été reçu et ignore les cases encore vides. - 3En 2ᵉ argument : sélectionne la colonne des justificatifs de domicile,
C2:C5. Ce deuxième argument est facultatif, et son total de cellules remplies s'ajoute à celui de la première plage au lieu de demander une seconde formule NBVAL. - 4Ferme la parenthèse et appuie sur Entrée.
=NBVAL(B2:B5; C2:C5)
Les erreurs fréquentes avec la fonction NBVAL
Cellules avec espaces invisibles comptées comme non vides
Une cellule contenant un espace invisible est comptée par NBVAL comme non vide. C'est un piège fréquent avec les données importées depuis un ERP ou un CRM.
Solution : Utilise =NB.SI(A1:A10; "<>") pour compter uniquement les cellules contenant une valeur non vide et non espace, ou nettoie tes données en amont avec SUPPRESPACE.
Formules retournant "" comptées différemment
Une formule qui retourne "" (chaîne vide) n'est PAS comptée par NBVAL car le résultat est vide. Mais si la formule retourne un espace (" "), la cellule sera comptée comme non vide.
Solution : Assure-toi que tes formules de nettoyage retournent "" et non " " pour les cellules que tu veux exclure du comptage. Exemple correct : =SI(A1=""; ""; A1*2).

NBVAL vs NB vs NB.VIDE vs NB.SI
Excel propose plusieurs fonctions de comptage avec des comportements différents. Choisis celle qui correspond à ton besoin exact.
| Fonction | Ce qu'elle compte | Exemple |
|---|---|---|
| NBVAL | Toutes les cellules non vides | =NBVAL(A1:A100) |
| NB | Uniquement les nombres | =NB(A1:A100) |
| NB.VIDE | Les cellules vides | =NB.VIDE(A1:A100) |
| NB.SI | Selon un critère | =NB.SI(A1:A100; "Oui") |
Questions fréquentes
Oui, une cellule contenant uniquement un espace est considérée comme non vide et sera comptée par NBVAL. C'est une erreur fréquente dans les imports de données. Utilise SUPPRESPACE pour nettoyer tes données avant de compter.
Utilise la formule =NBVAL(plage)-NB(plage). NBVAL compte tout, NB compte uniquement les nombres ; la différence donne le nombre de cellules contenant du texte.
Oui, les cellules contenant des erreurs (#N/A, #DIV/0!, #REF!, etc.) sont comptées car elles ne sont pas techniquement vides. Si tu veux exclure les erreurs, utilise =NB.SI(plage; "<>#N/A") ou une formule matricielle.
NBVAL compte toutes les cellules non vides : texte, nombres, erreurs, résultats de formules. NB compte uniquement les cellules contenant des nombres. Si ta colonne mélange texte et nombres, utilise NBVAL pour un comptage exhaustif, NB pour les seuls chiffres.
Compare NBVAL avec le nombre total de cellules : =SI(NBVAL(A1:A10)=LIGNES(A1:A10); "Complet"; "Incomplet"). Tu peux aussi utiliser NB.VIDE pour vérifier directement s'il y a des vides : =SI(NB.VIDE(A1:A10)=0; "Complet"; "Incomplet").
Pour aller plus loin
Continue sur ta lancée après la fonction NBVAL : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir




