Comment trouver la valeur maximale ou minimale dans une plage de dates spécifique (entre deux dates) sous Excel ?
Dans les tâches quotidiennes sous Analyse des données, notamment lors de l’utilisation de registres transactionnels ou de données chronologiques, il est fréquent de devoir identifier la valeur la plus élevée ou la plus faible sur une période donnée. Par exemple, imaginez que vous disposiez d’un tableau tel que celui illustré ci-dessous, et que vous souhaitiez déterminer le maximum ou le Valeur minimale entre deux dates — par exemple du 1/7/2016 au 1/12/2016. Cette exigence est courante lors de la génération de rapports sur des périodes spécifiques, de la comparaison des performances mensuelles ou du suivi des pics et creux dans les données. Cet article vous présente plusieurs solutions pratiques à l’aide de formules Excel, de code VBA et de fonctionnalités intégrées, afin de vous permettre d’extraire rapidement et précisément la valeur recherchée.

➤ Trouver le maximum ou la Valeur minimale dans une Plage de dates donnée à l’aide de formules matricielles
➤ Code VBA : trouver automatiquement le maximum ou la Valeur minimale dans une plage de Date spécifique
➤ Autres méthodes intégrées d’Excel : utiliser Tableau croisé dynamique pour filtrer et afficher le maximum/minimum par Plage de dates
Trouver le maximum ou le Valeur minimale dans une certaine Plage de dates à l’aide de formules matricielles
Une méthode simple consiste à utiliser des formules matricielles dans Excel, qui permettent de calculer des valeurs selon plusieurs critères — par exemple en vérifiant si les dates se situent dans votre plage limitée. Cette approche convient parfaitement aux jeux de données de taille modérée et aux utilisateurs à l’aise avec la saisie de formules.
Supposons que vos dates figurent dans la colonne A (plage A5:A17) et les valeurs correspondantes dans la colonne B (plage B5:B17), avec la date de début et la date de fin de la plage saisies respectivement dans les cellules B1 et D1.
1. Sélectionnez une cellule vide où vous souhaitez afficher le résultat (par exemple, E2).
Recherche du Valeur maximale entre le 1/7/2016 et le 1/12/2016 :
2. Saisissez la formule suivante dans la cellule sélectionnée. Après modification, appuyez sur Ctrl + Maj + Entrée (et non simplement sur Entrée) pour qu’Excel la reconnaisse comme une formule matricielle :
=MAX(IF((A5:A17=$B$1),B5:B17,"")) Cette formule identifie les dates comprises entre votre date de début et votre date de fin, puis calcule le maximum en tenant compte uniquement des valeurs des lignes correspondantes.

Recherche du Valeur minimale entre le 1/7/2016 et le 1/12/2016 :
3. Pour trouver le minimum dans la même plage de dates, utilisez une approche similaire. Saisissez la formule suivante (et confirmez à nouveau avec)Ctrl+Maj+Entrée) :
=MIN(IF((A5:A17=$B$1), B5:B17, "")) Cette formule fonctionne de la même manière, mais renvoie la valeur minimale correspondant à vos critères de date.

Remarques :
- Dans les exemples ci-dessus, A5:A17 est la plage contenant vos dates, $B$1 est la date de début, $D$1 est la date de fin, et B5:B17 est la plage de valeurs que vous souhaitez évaluer. Ajustez ces références pour qu’elles correspondent à vos données réelles.
- Vérifiez que les deux plages auxquelles vous faites référence sont de même longueur ; dans le cas contraire, la formule risque de générer des erreurs.
- Vérifiez attentivement que vos dates sont bien au format date et non au format texte, sous peine de voir la formule ne pas fonctionner comme prévu.
Conseils :
- Si vous utilisez Office 365 ou Excel 2021 et les versions ultérieures, vous pouvez utiliser les fonctions MAXIFS et MINIFS pour effectuer plus facilement des calculs basés sur des critères.
- Si la formule renvoie un 0 ou une cellule vide de manière inattendue, vérifiez que votre Plage de dates chevauche bien les dates disponibles dans les données et recherchez d’éventuelles cellules vides passées inaperçues.
Code VBA : trouver automatiquement le maximum ou le Valeur minimale dans une plage Date spécifique
Pour les utilisateurs qui gèrent de grands volumes de données, répètent fréquemment cette tâche ou souhaitent automatiser leurs rapports, une macro VBA permet d’identifier efficacement la valeur maximale ou minimale dans une plage de dates définie. Grâce à VBA, vous pouvez inviter l’utilisateur à sélectionner les plages concernées et à préciser les dates à chaque exécution, ce qui en fait une solution idéale pour des applications dynamiques ou une intégration avancée dans les flux de travail.
1. Accédez à l’onglet Développeur > Visual Basic. Dans la fenêtre de l’éditeur VBA qui s’ouvre, cliquez sur Insertion > Module, puis copiez-collez le code suivant dans le nouveau module :
Sub FindMaxMinInDateRange_Robust()
Dim ws As Worksheet
Dim dateRange As Range, valueRange As Range
Dim startCell As Range, endCell As Range
Dim startDate As Date, endDate As Date
Dim i As Long
Dim d As Date, v As Variant
Dim hasHit As Boolean
Dim maxV As Double, minV As Double
Const TITLE As String = "KutoolsforExcel"
On Error GoTo FailFast
Set ws = ActiveSheet
Set dateRange = Application.InputBox("Select the DATE range:", TITLE, Type:=8)
If dateRange Is Nothing Then Exit Sub
Set valueRange = Application.InputBox("Select the VALUE range (same rows as date range):", TITLE, Type:=8)
If valueRange Is Nothing Then Exit Sub
If dateRange.Rows.Count <> valueRange.Rows.Count Then
MsgBox "Date range and value range must have the SAME number of rows.", vbExclamation, TITLE
Exit Sub
End If
Set startCell = Application.InputBox("Select START date cell:", TITLE, Type:=8)
If startCell Is Nothing Then Exit Sub
Set endCell = Application.InputBox("Select END date cell:", TITLE, Type:=8)
If endCell Is Nothing Then Exit Sub
If Not IsDate(startCell.Value) Or Not IsDate(endCell.Value) Then
MsgBox "Start/End cell must contain valid dates.", vbExclamation, TITLE
Exit Sub
End If
startDate = CDate(startCell.Value)
endDate = CDate(endCell.Value)
If startDate > endDate Then
Dim tmp As Date
tmp = startDate: startDate = endDate: endDate = tmp
End If
For i = 1 To dateRange.Rows.Count
If IsDate(dateRange.Cells(i, 1).Value) Then
d = CDate(dateRange.Cells(i, 1).Value)
If d >= startDate And d <= endDate Then
v = valueRange.Cells(i, 1).Value
If IsNumeric(v) And Not IsEmpty(v) Then
If Not hasHit Then
maxV = CDbl(v): minV = CDbl(v)
hasHit = True
Else
If CDbl(v) > maxV Then maxV = CDbl(v)
If CDbl(v) < minV Then minV = CDbl(v)
End If
End If
End If
End If
Next i
If hasHit Then
MsgBox "Max value in range: " & maxV & vbCrLf & _
"Min value in range: " & minV, vbInformation, TITLE
Else
MsgBox "No rows matched the date range (or values were non-numeric).", vbExclamation, TITLE
End If
Exit Sub
FailFast:
MsgBox "Something went wrong: " & Err.Description, vbExclamation, TITLE
End Sub
2. Pour exécuter la macro, cliquez sur le bouton
dans l’éditeur VBA (ou appuyez sur)F5). Suivez les invites pour sélectionner les plages de dates et de valeurs, puis saisissez la date de début et la date de fin. Le maximum et la valeur minimale correspondant à votre intervalle de dates spécifique seront affichés dans une boîte de dialogue.
Conseils :
- Vérifiez que les plages de dates et de valeurs sélectionnées comportent exactement le même nombre de lignes et correspondent parfaitement.
- Cette approche s’avère particulièrement efficace pour gérer de longues listes ou automatiser des calculs répétitifs de maximum et de minimum selon des critères évolutifs.
- Si une plage vide ou non valide est sélectionnée, ou si la date saisie n’est pas correctement formatée, le code pourrait ne pas produire de résultat valide ; veillez à bien vérifier vos sélections avant l’exécution.
Autres méthodes intégrées dans Excel : utiliser un tableau croisé dynamique pour filtrer et afficher le maximum/minimum par Plage de dates
Si vous préférez ne pas utiliser de formules ni de code, la fonctionnalité tableau croisé dynamique d’Excel offre une méthode interactive et sans formule pour filtrer les données par date et afficher des valeurs synthétiques telles que le maximum ou le minimum. Cette solution est idéale pour les utilisateurs qui souhaitent explorer leurs données, générer le rapport ou ajuster facilement les critères via une interface graphique.
1. Sélectionnez votre tableau (dates et valeurs incluses), puis accédez à l’onglet Insertion et cliquez sur Tableau croisé dynamique.
2. Dans la boîte de dialogue Créer un tableau croisé dynamique, choisissez l’emplacement souhaité pour votre tableau croisé dynamique, puis cliquez sur OK.
3. Dans le volet Champs de tableau croisé dynamique, faites glisser le champ Date vers la zone Lignes, et le champ Valeurs (celui pour lequel vous souhaitez trouver le maximum ou le minimum) vers la zone Valeurs. Par défaut, il affichera la Somme ; cliquez sur le champ dans la zone Valeurs, choisissez Paramètres de champ, puis remplacez-la par Max ou Min selon vos besoins.
4. Pour filtrer selon une plage de dates spécifique, cliquez sur la flèche déroulante des étiquettes de ligne du champ Date, choisissez Filtres de dates > Entre…, puis indiquez votre date de début et votre date de fin (par exemple,)01/07/2016 à 01/12/2016) et cliquez sur OK.
Le tableau croisé dynamique affichera désormais la valeur maximale ou la valeur minimale pour chaque date incluse dans votre plage limitée. Si vous souhaitez uniquement identifier la valeur la plus élevée ou la plus basse sur l’ensemble de cette plage, appliquez un filtre supplémentaire ou explorez visuellement le résumé obtenu.
Remarques :
- Vérifiez que toutes les cellules de la colonne Date contiennent de véritables dates (et non du texte). Des formats mixtes peuvent empêcher les filtres de détecter certaines lignes.
- Si les données sources changent, cliquez avec le bouton droit sur le tableau croisé dynamique et choisissez Actualiser pour mettre à jour les résultats.
- Selon votre configuration, Excel peut regrouper les dates par mois, trimestre ou année. Si nécessaire, cliquez avec le bouton droit sur une date dans le tableau croisé dynamique et choisissez Dissocier(ou)Regrouper… pour définir le niveau souhaité).
- Pour des jeux de données très volumineux, placer le tableau croisé dynamique sur une Nouvelle feuille de calcul peut améliorer la lisibilité et les performances.
Conseils :
- Ajoutez une segmentationpour le champ Date (Analyse de tableau croisé dynamique >)Insérer une segmentation) afin de modifier les plages de façon interactive.
- Vous souhaitez obtenir un seul maximum ou minimum sur l’ensemble de la plage de filtrage ? Après avoir appliqué le filtre, triez la colonne Valeurs ou ajoutez un deuxième champ Valeurs et définissez-le sur Max/Min.
- Associez-le à un graphique croisé dynamique pour obtenir un résumé visuel qui s’actualise automatiquement avec vos filtres.
Cette méthode élimine la saisie manuelle de formules et offre une interaction dynamique – parfaite pour les présentations ou les environnements multi-utilisateurs. Pour des résultats hautement personnalisés ou une automatisation en lot sur de nombreuses feuilles, privilégiez les approches fondées sur les formules ou sur VBA.
Articles associés:
- Comment trouver la position du premier/dernier chiffre dans une chaîne de texte sous Excel ?
- Comment trouver le premier ou le dernier vendredi de chaque mois sous Excel ?
- Comment utiliser RECHERCHEV pour trouver la première, la deuxième ou la nième valeur correspondante sous Excel ?
- Comment trouver la valeur ayant la fréquence la plus élevée dans une plage sous Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels