Aller au contenu principal

Qu'est-ce que la fonction NBVAL ?

Définition
La fonction NBVAL compte toutes les cellules non vides dans une ou plusieurs plages : texte, nombres, erreurs et formules retournant un résultat non vide sont tous comptés.

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.

Syntaxe

=NBVAL(valeur1; [valeur2]; ...)

Clique sur un argument pour aller à son explication.

NBVAL compte les cellules contenant des erreurs (#N/A, #DIV/0!, etc.) car elles ne sont pas techniquement vides. Utilise NB.SI pour un comptage plus précis si nécessaire.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction NBVAL

1

valeur1

: la première valeur, plage ou référence à évaluer

Tu 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.

2

[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.

L’erreur fatale
NBVAL compte comme non vide une cellule qui ne contient qu'un espace invisible. C'est le piège classique des données importées : une cellule « vide en apparence » gonfle ton comptage. Passe SUPPRESPACE dessus avant de compter.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

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.

Les étapes
  1. 1
    Dans une cellule, écris =NBVAL(.
  2. 2
    En 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.
  3. 3
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=NBVAL(A2:A19)
Explication
La plage 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.
Exemple 2

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 ».

Les étapes
  1. 1
    Dans une cellule, écris =SI(.
  2. 2
    En 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.
  3. 3
    En 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?.
  4. 4
    En 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.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=SI(NBVAL(B2:B6)=5; "Complet"; "Incomplet")
Explication
NBVAL trouve 4 cellules remplies sur les 5 champs attendus, puisque l'email n'a pas été saisi. Le test =5 est donc faux et SI renvoie « Incomplet ». Le verdict se met à jour tout seul dès que le champ manquant est complété.
Exemple 3

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.

Les étapes
  1. 1
    Dans une cellule, écris =NBVAL(.
  2. 2
    En 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.
  3. 3
    Ferme 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.
Une fois les morceaux assemblés, ta formule donne ça :=NBVAL(B2:B5)/LIGNES(B2:B5)*100
Explication
NBVAL compte 3 réponses effectives à la question 1, LIGNES renvoie les 4 participants interrogés, et la division donne 75 %. Passer par LIGNES(plage) plutôt que par un 4 écrit en dur garde le taux juste le jour où le sondage s'allonge.
Exemple 4

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.

Les étapes
  1. 1
    Dans une cellule, écris =NBVAL(.
  2. 2
    En 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.
  3. 3
    En 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.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
En mettant tout bout à bout, tu écris :=NBVAL(B2:B5; C2:C5)
Explication
NBVAL additionne les cellules non vides des deux plages : 3 pièces d'identité et 3 justificatifs de domicile, soit 6 documents fournis sur les 8 attendus. Les deux plages n'ont pas besoin d'être côte à côte, elles peuvent même vivre sur des feuilles différentes.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

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).

Lucas, la mascotte du Dojo, compare deux fonctions Excel

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.

FonctionCe qu'elle compteExemple
NBVALToutes les cellules non vides=NBVAL(A1:A100)
NBUniquement les nombres=NB(A1:A100)
NB.VIDELes cellules vides=NB.VIDE(A1:A100)
NB.SISelon un critère=NB.SI(A1:A100; "Oui")
Le combo gagnant
Pour compter uniquement les cellules de texte, marie NBVAL et NB : NBVAL(plage) - NB(plage). NBVAL compte tout ce qui est rempli, NB seulement les nombres, et la différence te donne les cellules de texte.
FAQ

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.

Ressources

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