Base de donnéesIntermédiaire

Fonction BDNBVAL ExcelGuide Complet 2026 avec Exemples

BDNBVAL (DCOUNTA en anglais) est une fonction puissante qui compte les cellules non vides dans une base de données en fonction de critères que tu définis. Contrairement à NBVAL qui compte simplement les cellules non vides d'une plage, BDNBVAL te permet de filtrer précisément les données à compter grâce à une zone de critères flexible.

Si tu gères une base clients, un fichier RH ou un suivi de projets, cette fonction va te permettre de répondre à des questions comme "Combien de clients ont renseigné leur email ?" ou "Combien d'employés ont une certification active ?" en quelques secondes. Dans ce guide, tu vas découvrir comment utiliser BDNBVAL efficacement avec des exemples concrets du monde professionnel.

Syntaxe de la fonction BDNBVAL

=BDNBVAL(base_de_données; champ; critères)

La fonction BDNBVAL compte toutes les cellules non vides d'un champ spécifique dans ta base de données, en ne retenant que les lignes qui correspondent aux critères définis. C'est l'équivalent d'un comptage avec filtre automatique, mais en formule.

Comprendre chaque paramètre de la fonction BDNBVAL

1

base_de_données

(obligatoire)

C'est la plage complète de ta base de données, incluant obligatoirement la ligne d'en-têtes. Par exemple, si tes données occupent les lignes 1 à 100 avec les en-têtes en ligne 1, tu indiques A1:F100. Les en-têtes sont essentiels car c'est à travers eux qu'Excel identifie les colonnes dans tes critères.

2

champ

(obligatoire)

C'est la colonne sur laquelle tu veux compter les cellules non vides. Tu peux l'indiquer de deux façons : soit par son nom entre guillemets comme "Email", soit par sa position numérique dans la base (1 pour la première colonne, 2 pour la deuxième, etc.). L'utilisation du nom est plus lisible et évite les erreurs si tu réorganises tes colonnes.

3

critères

(obligatoire)

C'est une petite zone séparée de ta base, qui contient les conditions de filtrage. La première ligne doit reprendre exactement les en-têtes concernés, et les lignes suivantes contiennent les valeurs à filtrer. Par exemple, pour filtrer les clients de Paris, tu crées une zone avec "Ville" en en-tête et "Paris" en dessous. Les critères sur la même ligne sont liés par ET, ceux sur des lignes différentes par OU.

Astuce : Crée toujours ta zone de critères à côté ou en dessous de ta base de données, avec au moins une ligne vide de séparation. Cela évite les confusions et facilite la maintenance de tes formules. Tu peux aussi utiliser des cellules nommées pour rendre tes formules plus lisibles.

Exemples pratiques par métier

Exemple 1 – RH : compter les employés ayant renseigné leur certification

Tu travailles aux ressources humaines et tu dois savoir combien d'employés du service IT ont renseigné une certification professionnelle dans leur profil. Ta base contient des certifications variées (texte) ainsi que des champs vides pour ceux qui n'en ont pas.

Zone critères E1:E2 → E1: 'Service' / E2: 'IT'. BDNBVAL compte les employés IT avec une certification non vide (Marie et Lucas).

ABC
1EmployéServiceCertification
2Marie DurandITAWS Solutions Architect
3Pierre MartinIT
4Sophie BernardRHSHRM-CP
5Lucas PetitITCCNA
6Emma RobertIT
Formule :=BDNBVAL(A1:C6;"Certification";E1:E2)
Résultat :2

Cette formule te permet d'identifier rapidement les gaps de formation dans ton équipe et de planifier les montées en compétence nécessaires.

Exemple 2 – Commercial : compter les prospects ayant laissé un commentaire

Tu es commercial(e) et tu veux savoir combien de prospects issus de la campagne "Salon 2024" ont laissé un commentaire dans ton CRM. Cela t'indique le niveau d'engagement et les prospects à recontacter en priorité.

Zone critères E1:E2 → E1: 'Source' / E2: 'Salon 2024'. Résultat : 2 prospects du salon ont commenté.

ABC
1ProspectSourceCommentaire
2Entreprise ABCSalon 2024Intéressé par offre Premium
3Société XYZWebDemande devis urgent
4Client ProSalon 2024
5Startup TechSalon 2024Veut démo produit
6Digital CorpWeb
Formule :=BDNBVAL(A1:C6;"Commentaire";E1:E2)
Résultat :2

Tu peux ensuite créer des formules similaires pour chaque source et comparer l'engagement selon les canaux d'acquisition.

Exemple 3 – Chef de projet : compter les tâches avec un responsable assigné

Tu es chef de projet et tu dois t'assurer que toutes les tâches critiques ont bien un responsable assigné. Tu veux compter combien de tâches "Haute" priorité ont un nom dans la colonne "Responsable".

Zone critères E1:E2 → E1: 'Priorité' / E2: 'Haute'. Sur 3 tâches haute priorité, 2 ont un responsable.

ABC
1TâchePrioritéResponsable
2Design interfaceHauteSophie
3Tests unitairesMoyenneMarc
4Déploiement prodHaute
5DocumentationHauteJulie
6Revue codeBasse
Formule :=BDNBVAL(A1:C6;"Responsable";E1:E2)
Résultat :2

Si le résultat est inférieur au nombre total de tâches haute priorité, tu sais immédiatement qu'il faut assigner des responsables. Utilise BDNB pour compter le total de tâches haute priorité et compare les deux chiffres.

Exemple 4 – Analyste : mesurer le taux de complétion des enquêtes

Tu es analyste de données et tu dois calculer le taux de complétion d'une enquête client pour les clients "Premium". Tu veux savoir combien ont rempli le champ "Satisfaction" parmi tous les clients Premium.

Zone critères E1:E2 → E1: 'Niveau' / E2: 'Premium'. 2 clients Premium sur 4 ont répondu.

ABC
1ClientNiveauSatisfaction
2Client APremium9/10
3Client BStandard7/10
4Client CPremium
5Client DPremium8/10
6Client EPremium
Formule :=BDNBVAL(A1:C6;"Satisfaction";E1:E2)
Résultat :2

Pour calculer le taux de complétion, divise ce résultat par BDNB(A1:C6;"Niveau";E1:E2) qui compte le nombre total de clients Premium. Ici : 2/4 = 50% de taux de réponse.

Les erreurs fréquentes et comment les corriger

Les en-têtes de critères ne correspondent pas exactement

C'est l'erreur la plus courante avec les fonctions BD. Si ton en-tête dans la base est "Email client" et que tu mets "Email" dans tes critères, Excel ne trouve aucune correspondance et retourne 0. Même un espace en plus suffit à casser la formule.

Solution : Copie-colle toujours les en-têtes depuis la base vers la zone critères au lieu de les retaper. Tu peux aussi utiliser une formule =A1 dans ton en-tête de critères pour garantir la correspondance.

Cellules contenant uniquement des espaces comptabilisées

BDNBVAL compte comme "non vide" une cellule qui contient des espaces invisibles, souvent créés lors d'imports de données. Tu obtiens donc un décompte supérieur à ce que tu attends visuellement.

Solution : Nettoie tes données avec SUPPRESPACE() avant d'appliquer BDNBVAL. Tu peux créer une colonne auxiliaire avec =SUPPRESPACE(A2) et utiliser cette version nettoyée dans ta base.

Oubli d'inclure la ligne d'en-têtes dans base_de_données

Si tu spécifies A2:C100 au lieu de A1:C100, Excel ne peut pas identifier les colonnes et retourne une erreur #VALEUR! ou des résultats incorrects.

Solution : Vérifie toujours que ta plage de base commence à la ligne des en-têtes. Les en-têtes ne sont pas optionnels pour les fonctions BD, contrairement à d'autres fonctions comme SOMME.

Astuce de débogage : Si ta formule BDNBVAL retourne un résultat inattendu, applique un filtre manuel sur ta base avec les mêmes critères. Le nombre de lignes visibles doit correspondre au résultat de BDNBVAL. C'est le meilleur moyen de vérifier si tes critères fonctionnent correctement.

BDNBVAL vs NBVAL vs NB.SI vs BDNB

CritèreBDNBVALNBVALNB.SIBDNB
Type de donnéesBase de donnéesPlage simplePlage simpleBase de données
Compte texte + nombres✅ Oui✅ Oui✅ Oui❌ Nombres uniquement
Critères multiples✅ ET & OU❌ Non⚠️ Un seul critère✅ ET & OU
Critères sur colonnes différentes✅ Oui❌ Non❌ Non✅ Oui
Zone critères séparée✅ Obligatoire❌ Non❌ Non✅ Obligatoire
Cas d'usage idéalComptage complexe avec filtres multiplesComptage simple d'une plageComptage avec 1 critèreComptage nombres uniquement

Utilise BDNBVAL quand tu as besoin de compter avec plusieurs critères sur différentes colonnes d'une base structurée. Pour des comptages simples, NBVAL ou NB.SI sont plus rapides à écrire. Si tu veux compter uniquement les nombres (et ignorer le texte), utilise BDNB à la place.

Questions fréquentes

Quelle est la différence entre BDNB et BDNBVAL ?

BDNB compte uniquement les cellules contenant des nombres dans le champ spécifié. BDNBVAL compte toutes les cellules non vides, qu'elles contiennent des nombres, du texte, des dates ou des booléens. Utilise BDNBVAL quand tu veux compter tous les enregistrements ayant une valeur dans un champ donné.

BDNBVAL compte-t-elle les cellules vides ?

Non, BDNBVAL ignore complètement les cellules vides. Elle ne compte que les cellules contenant une valeur, quelle qu'elle soit. Attention : une cellule contenant uniquement des espaces n'est pas considérée comme vide par Excel !

Comment définir des critères complexes avec BDNBVAL ?

Place tes critères sur la même ligne dans la zone de critères pour un ET logique (ex : Age>30 ET Ville=Paris). Pour un OU logique, utilise plusieurs lignes (ex : Ville=Paris sur une ligne, Ville=Lyon sur la ligne suivante). Tu peux aussi utiliser des caractères génériques comme * et ?.

Pourquoi BDNBVAL retourne 0 alors que j'ai des données ?

Vérifie que ta zone de critères est correctement formatée avec les en-têtes qui correspondent exactement aux en-têtes de ta base de données. Une différence même minime (espace, majuscule) empêche la fonction de trouver les correspondances. Vérifie aussi que ta plage de base inclut bien les en-têtes.

Puis-je utiliser BDNBVAL avec des données importées d'une autre source ?

Oui, mais assure-toi d'abord de nettoyer tes données. Utilise SUPPRESPACE pour éliminer les espaces indésirables et vérifie que tes en-têtes sont cohérents. Les données importées contiennent souvent des caractères invisibles qui peuvent perturber les fonctions de base de données.

Les fonctions similaires à BDNBVAL

Deviens un pro d'Excel

Tu maîtrises maintenant BDNBVAL ! Rejoins Le Dojo Club pour découvrir toutes les fonctions de base de données et devenir un expert de l'analyse de données sur Excel.

Essayer pendant 30 jours