Aller au contenu principal

Qu'est-ce que la fonction BDMAX ?

Définition
La fonction BDMAX retourne la valeur maximale d'une colonne dans une base de données Excel, uniquement pour les lignes qui correspondent aux critères définis dans une zone séparée.

BDMAX (DMAX en anglais) te sert quand ton maximum doit porter sur une portion précise d'un tableau volumineux, une région, un produit ou une période, sans avoir à trier ni filtrer ta base à la main avant de chercher la plus grande valeur. Tu la sors dès que MAX seule ramène un record qui mélange tout, alors que tu veux la réponse pour un sous-ensemble bien défini.

Concrètement, c'est elle qui t'identifie la meilleure vente d'une région précise, le stock le plus élevé atteint pour un produit donné, le salaire maximum d'un département ou la dépense marketing la plus grosse sur une année. Et quand les critères deviennent complexes, avec des OU logiques que MAX.SI.ENS ne sait pas gérer, BDMAX reste souveraine.

Syntaxe

Clique sur un argument pour aller à son explication.

La zone de critères doit toujours comporter au moins deux lignes : la première avec les noms de colonnes (identiques aux en-têtes de ta base), la deuxième avec les valeurs recherchées. Si elle n'a pas d'en-tête, BDMAX renvoie une erreur.

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

Comprendre chaque paramètre de la fonction BDMAX

Les trois arguments de BDMAX sont tous obligatoires et se lisent dans l'ordre : d'abord la plage de ta base (en-têtes compris), ensuite la colonne où chercher le maximum, enfin la zone de critères qui filtre les lignes. Aucun n'est facultatif, contrairement à d'autres fonctions de base de données.

Le champ accepte deux écritures : le nom de l'en-tête entre guillemets ("Ventes") ou son numéro de position (3). Le nom résiste mieux : si tu insères une colonne, un numéro pointe soudain au mauvais endroit.

1

base_de_données

: la plage complète de ta base de données, en-têtes de colonnes inclus en première ligne

Par exemple A1:D100 si ta base couvre les colonnes A à D sur 100 lignes. Les en-têtes sont indispensables car BDMAX les utilise pour identifier les colonnes.

Excel teste chaque ligne de cette plage (sauf la ligne d'en-têtes) et ne retient que celles qui correspondent aux critères. Assure-toi que ta base est continue, sans ligne vide au milieu.

2

champ

: le nom ou le numéro de la colonne dans laquelle BDMAX cherche le maximum

Tu peux écrire "Ventes" entre guillemets (le nom exact de l'en-tête, insensible à la casse) ou utiliser un numéro comme 3 pour désigner la 3e colonne de ta base.

Le nom en texte est plus lisible et plus robuste : si tu insères une colonne, le numéro devient faux mais le nom reste juste.

3

critères

: une zone séparée de ton tableau qui contient les conditions de filtrage

Elle doit avoir au minimum deux lignes : la première avec les noms des colonnes concernées (identiques aux en-têtes de ta base), la seconde avec les valeurs recherchées. Par exemple F1:F2 où F1 contient "Région" et F2 contient "Nord".

Tu peux avoir plusieurs colonnes dans cette zone pour des critères ET (sur la même ligne) ou plusieurs lignes pour des critères OU (lignes différentes). C'est toute la puissance de BDMAX par rapport aux autres fonctions de maximum.

Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment trouver le maximum d'une colonne selon un critère avec la fonction BDMAX

La réunion régionale commence dans dix minutes et on te demande la plus grosse vente du Nord pour ouvrir la présentation. Tes quatorze vendeurs sont listés avec leur région et le montant qu'ils ont réalisé, et tu veux ce record sans trier la colonne ni la parcourir des yeux. La fonction BDMAX lit une zone de critères posée à côté du tableau et remonte d'un coup la plus haute valeur qui y répond.

Les étapes
  1. 1
    Dans une cellule, écris =BDMAX(.
  2. 2
    En 1er argument : sélectionne toute la base avec sa ligne d'en-têtes, A1:C15. Ces titres ne sont pas un détail de sélection, car la fonction BDMAX s'en sert pour reconnaître les colonnes Vendeur, Région et Ventes.
  3. 3
    En 2ᵉ argument : saisis le nom de la colonne où chercher le plus grand nombre, "Ventes", entre guillemets et calqué sur l'en-tête de la colonne C. Son rang dans la base, 3, ferait aussi l'affaire, mais un numéro se met à pointer la mauvaise colonne dès que tu en insères une.
  4. 4
    En 3ᵉ argument : sélectionne la zone qui filtre les lignes, E1:E2. Ce bloc de deux cellules se prépare à côté du tableau avant d'écrire la formule, en recopiant l'en-tête Région en E1 et en écrivant Nord en E2. Il décide des lignes retenues avant la moindre comparaison de montants.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=BDMAX(A1:C15; "Ventes"; E1:E2)
Explication
La fonction lit la zone de critères, écarte tout ce qui n'est pas du Nord, puis compare les six montants restants (15 000, 22 000, 28 000, 25 000, 20 000 et 18 000 €) pour ne garder que le plus haut : 28 000 €. Remplace Nord par Sud en E2 et le maximum se recalcule tout seul, sans que tu rouvres la formule. En revanche, le nom du vendeur n'apparaît nulle part : la fonction BDMAX rend une valeur, jamais la ligne qui la porte.
Exemple 2

Comment trouver la date la plus récente selon un critère avec la fonction BDMAX

Un client t'appelle pour contester une relance et veut savoir quand remonte sa dernière commande. Tes commandes sont saisies au fil de l'eau, tous clients mélangés, et il te faut la date la plus récente de ce client-là pendant qu'il est encore au téléphone. La fonction BDMAX ne travaille pas que sur des montants : elle remonte aussi bien la date la plus récente, parce qu'Excel range les dates comme des nombres.

Les étapes
  1. 1
    Dans une cellule, écris =BDMAX(.
  2. 2
    En 1er argument : sélectionne la base avec sa ligne d'en-têtes, A1:C7. Les six commandes occupent les lignes 2 à 7, et la ligne 1 qui les surplombe donne à la fonction BDMAX les noms Client, Date commande et Montant.
  3. 3
    En 2ᵉ argument : saisis le nom de la colonne où chercher la plus grande valeur, "Date commande". L'en-tête tient en deux mots, donc il se recopie tel quel entre guillemets, espace compris. Une colonne de dates convient ici aussi bien qu'une colonne de montants.
  4. 4
    En 3ᵉ argument : sélectionne la zone qui filtre les lignes, E1:E2. Tu y as recopié l'en-tête Client en E1 et écrit Menuiserie Roy en E2, à côté du tableau. Le filtre porte donc sur une colonne pendant que la recherche du maximum porte sur une autre, et c'est le cas le plus courant.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=BDMAX(A1:C7; "Date commande"; E1:E2)
Explication
Pour Excel, une date n'est qu'un nombre, donc la fonction BDMAX y applique exactement la même logique que sur des euros : parmi les trois commandes de Menuiserie Roy, elle garde la plus grande valeur, c'est-à-dire la plus récente, soit le 27/03/2026. La cellule de résultat affiche d'abord un nombre à cinq chiffres, et c'est normal : passe-la au format Date avec Ctrl+1 pour retrouver une date lisible.
Exemple 3

Comment retrouver le vendeur qui détient le maximum avec la fonction BDMAX

Tu as le montant de la meilleure vente du Nord, et la question qui suit tombe toujours : qui l'a signée ? Tes vendeurs sont listés avec leur région et leur montant, et tu veux afficher ce nom automatiquement, pour qu'il suive tout seul quand les chiffres du mois prochain arriveront. La fonction BDMAX ne rend qu'une valeur, donc il faut deux fonctions de plus pour remonter jusqu'à la ligne qui la porte.

Les étapes
  1. 1
    Dans une cellule, écris =INDEX(.
  2. 2
    En 1er argument : sélectionne la colonne où lire le nom cherché, A2:A7. Elle démarre à la ligne 2 et laisse l'en-tête de côté, tout comme la plage C2:C7 de l'étape suivante, sinon la position trouvée plus loin désignerait le mauvais vendeur.
  3. 3
    En 2ᵉ argument : écris la recherche de position et referme-la, EQUIV(BDMAX(A1:C7; "Ventes"; E1:E2); C2:C7; 0). La fonction BDMAX y sort d'abord le plus gros montant du Nord, à partir de la base A1:C7 et de la zone de critères E1:E2 où tu as posé l'en-tête Région puis la valeur Nord. La fonction EQUIV cherche ensuite ce montant dans la colonne Ventes et renvoie son rang, tandis que le 0 final impose une correspondance exacte.
  4. 4
    Ferme la parenthèse de la fonction INDEX et appuie sur Entrée. Celles des fonctions EQUIV et BDMAX ont déjà été refermées à l'étape précédente.
Une fois les morceaux assemblés, ta formule donne ça :=INDEX(A2:A7; EQUIV(BDMAX(A1:C7; "Ventes"; E1:E2); C2:C7; 0))
Explication
La fonction BDMAX calcule d'abord le plus gros montant du Nord (28 000 €), mais elle s'arrête là. EQUIV cherche alors ce montant dans la colonne Ventes et renvoie sa position, la 5e ligne, puis INDEX va lire le nom qui se trouve à cette position : Emma Roux. Attention en cas d'égalité : si deux vendeurs affichaient 28 000 €, EQUIV s'arrêterait au premier des deux.
Vrai ou faux ?
« Un 0 renvoyé par BDMAX, c'est forcément la plus grande valeur trouvée. » Faux. Quand aucune ligne ne correspond aux critères, BDMAX renvoie aussi 0, impossible à distinguer d'un vrai maximum nul. Vérifie d'abord avec BDNB, ou enrobe la formule d'un SI.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction BDMAX

Avec BDMAX, le souci vient presque toujours du dialogue entre ta zone de critères et tes en-têtes. Un 0 qui s'affiche signifie qu'aucune ligne n'a matché : c'est souvent un espace invisible ou une casse qui sépare le nom dans tes critères de l'en-tête de la base.

Les deux autres pièges sont plus mécaniques : un nom de champ tapé sans guillemets te renvoie #NOM?, et une base trouée de lignes vides fausse silencieusement le résultat.

BDMAX retourne 0 au lieu de la valeur attendue

Zéro signifie qu'aucune ligne de ta base ne correspond aux critères. La cause la plus fréquente : une différence invisible entre le nom dans ta zone de critères et l'en-tête de colonne (espace en fin de chaîne, casse différente, accent manquant).

Solution : Compare les en-têtes caractère par caractère en mode zoom. Utilise =BDNB(base;champ;critères) avec les mêmes critères : si le résultat est 0, ton problème vient des critères, pas de BDMAX. Nettoie les espaces parasites avec SUPPRESPACE.

Erreur #VALEUR! ou #NOM? au lancement de la formule

L'erreur #NOM? survient si le nom du champ est saisi sans guillemets : Excel le prend alors pour un nom défini qu'il ne trouve pas. L'erreur #VALEUR! apparaît, elle, quand le nom placé entre guillemets ne correspond à aucun en-tête de ta base (faute de frappe, accent ou espace en trop).

Solution : Mets toujours le nom du champ entre guillemets : "Ventes" et non Ventes. Vérifie aussi que ta zone de critères comporte bien une ligne d'en-tête en première ligne.

Résultat inattendu malgré des critères corrects

Si ta base de données contient des lignes vides ou des en-têtes répétés au milieu du tableau, BDMAX peut s'arrêter prématurément ou prendre des lignes non souhaitées dans le calcul.

Solution : Assure-toi que ta base est continue de la première à la dernière ligne, sans interruption. La ligne d'en-tête doit être unique, en toute première ligne de la plage base_de_données.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

BDMAX vs MAX vs MAX.SI.ENS vs BDMIN

Garde MAX tant que tu veux le plus grand sans filtrer, et MAX.SI.ENS pour des critères ET simples écrits directement dans la formule. Le moment où BDMAX prend l'avantage, c'est quand tu as besoin d'un OU logique (Nord OU Sud) ou d'une zone de critères que tu réutilises dans plusieurs formules : MAX.SI.ENS ne sait pas faire le OU.

BDMIN est sa jumelle exacte, mêmes règles de zone de critères et de joker, mais elle renvoie le minimum au lieu du maximum.

CritèreBDMAXMAXMAX.SI.ENSBDMIN
Critères complexes (OU logique)✅ Oui (lignes multiples)❌ Non⚠️ Uniquement ET✅ Oui (lignes multiples)
Zone de critères séparée✅ Oui❌ Non❌ Non✅ Oui
Caractères joker (* ?)✅ Oui❌ Non✅ Oui✅ Oui
Facilité de saisie⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
RésultatMaximumMaximumMaximumMinimum
Cas d'usage typiqueCritères OU ou zone réutiliséeMaximum sans critèreCritères ET multiplesMinimum filtré
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec BDMAX

1Astuce

Critère OU : additionne les lignes dans ta zone

Pour trouver le maximum de deux régions combinées, par exemple Nord et Sud, ajoute une troisième ligne dans ta zone de critères : E1 = Région, E2 = Nord, E3 = Sud. La formule =BDMAX(A1:C100;"Ventes";E1:E3) retournera alors le maximum sur les deux régions réunies.
C'est l'avantage décisif de BDMAX : MAX.SI.ENS ne peut pas gérer ce cas en une seule formule.

2Astuce

Critères calculés dynamiques dans ta zone

Tu peux placer des formules dans ta zone de critères, pas seulement des valeurs fixes. Par exemple, mets =AUJOURDHUI()-30 en E2 (sous l'en-tête Date) pour filtrer les 30 derniers jours. La formule =BDMAX(A1:C100;"Montant";E1:E2) se recalculera automatiquement chaque jour sans que tu touches à rien.
Ce principe s'étend à tout calcul : seuils basés sur une moyenne, conditions sur l'année en cours, etc.

3Astuce

Sécurise avec BDNB avant BDMAX

Quand aucune ligne ne correspond aux critères, BDMAX retourne 0, ce qui est indistinguable d'un vrai zéro dans tes données. Pour éviter ce piège, entoure BDMAX d'un SI : =SI(BDNB(A1:C100;"Montant";E1:E2)>0;BDMAX(A1:C100;"Montant";E1:E2);"Aucun résultat") affiche un message clair quand les critères ne matchent rien.
Utilise cette approche dans tout rapport partagé où un 0 trompeur peut induire une décision erronée.

FAQ

Questions fréquentes

BDMAX utilise une zone de critères séparée (un mini-tableau à côté de tes données) tandis que MAX.SI.ENS intègre les critères directement dans la formule. La différence clé : BDMAX gère les critères OU (plusieurs valeurs possibles pour une même colonne) en ajoutant des lignes dans la zone. MAX.SI.ENS ne fait que le ET. Pour des critères simples ET, MAX.SI.ENS est plus direct. Pour des combinaisons OU ou une zone de critères réutilisée dans plusieurs formules, BDMAX est plus adaptée.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction BDMAX : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir