Accéder au contenu principal

Kutools for Office — Une Suite. Cinq Outils. Accomplissez Plus.

Comment trouver la valeur maximale ou minimale dans une plage de dates spécifique (entre deux dates) dans Excel ?

Author Siluvia Last modified

Dans l'analyse de données quotidienne, en particulier lorsqu'on travaille avec des enregistrements transactionnels ou des données chronologiques, il est souvent nécessaire d'identifier la valeur la plus élevée ou la plus basse qui se produit dans une période spécifique. Par exemple, imaginez que vous avez un tableau comme celui illustré dans la capture d'écran ci-dessous, et vous souhaitez déterminer la valeur maximale ou minimale entre deux dates — comme du 01/07/2016 au 01/12/2016. C'est une exigence courante lors de la génération de rapports sur des périodes spécifiques, en comparant les performances mensuelles ou en suivant les pics et les creux dans les données. Cet article vous guidera à travers plusieurs solutions pratiques utilisant des formules Excel, du code VBA et des fonctionnalités intégrées, vous aidant à extraire rapidement et précisément la valeur dont vous avez besoin.

A screenshot showing an Excel table with dates and values to calculate max or min in a date range


Trouver la valeur maximale ou minimale dans une plage de dates spécifique avec des formules matricielles

Une approche simple consiste à utiliser des formules matricielles dans Excel, qui vous permettent de calculer des valeurs en fonction de plusieurs critères — comme vérifier si des dates se situent dans votre plage spécifiée. Cette méthode convient aux données de taille modérée et aux utilisateurs à l'aise avec l'entrée de formules.

Supposons que votre feuille de calcul liste des dates dans la colonne A (A5:A17) et les valeurs correspondantes dans la colonne B (B5:B17), avec les dates de début et de fin de la plage entrées respectivement dans les cellules B1 et D1.

1. Sélectionnez une cellule vide où vous souhaitez afficher le résultat (par exemple, E2).

Trouver la valeur maximale entre le 01/07/2016 et le 01/12/2016 :

2. Entrez la formule suivante dans la cellule sélectionnée. Après modification, appuyez sur Ctrl + Shift + Entrée (pas seulement Entrée), afin qu'Excel la reconnaisse comme une formule matricielle :

=MAX(IF((A5:A17<=$D$1)*(A5:A17>=$B$1),B5:B17,""))

Cette formule vérifie quelles dates se situent entre vos dates de début et de fin, et ne prend en compte que les valeurs des lignes correspondantes pour calculer le maximum.

A screenshot showing the result of finding the max value within a date range using an array formula in Excel

Trouver la valeur minimale entre le 01/07/2016 et le 01/12/2016 :

3. Pour trouver le minimum dans la même plage de dates, utilisez une approche similaire. Entrez la formule suivante (et encore une fois, confirmez avec Ctrl + Shift + Entrée) :

=MIN(IF((A5:A17<=$D$1)*(A5:A17>=$B$1), B5:B17, ""))

Cette formule fonctionne de la même manière, mais renvoie la valeur minimale qui correspond à vos critères de date.

A screenshot showing the result of finding the min value within a date range using an array formula in Excel

Notes :

  • 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.
  • Assurez-vous que les deux plages que vous référencez ont la même longueur — sinon, la formule peut générer des erreurs.
  • Vérifiez bien que vos entrées de date sont formatées en tant que dates, pas en tant que texte, sinon la formule pourrait ne pas fonctionner comme prévu.

Conseils :

  • Si vous travaillez avec Office 365 ou Excel 2021 et versions ultérieures, vous pouvez utiliser les fonctions MAXIFS et MINIFS pour des calculs basés sur des critères plus simples.
  • Si la formule renvoie 0 ou laisse une cellule vide de manière inattendue, vérifiez que votre plage de dates chevauche les dates des données disponibles et vérifiez s'il n'y a pas de cellules vides non remarquées.

Code VBA : Trouver automatiquement la valeur maximale ou minimale dans une plage de dates spécifiée

Pour les utilisateurs traitant de grands ensembles de données, ayant besoin de répéter cette tâche souvent, ou cherchant à automatiser la génération de rapports, une solution macro VBA peut efficacement trouver la valeur maximale ou minimale dans une plage de dates choisie. Avec VBA, vous pouvez inviter l'utilisateur à sélectionner les plages pertinentes et définir les dates à chaque fois, ce qui est idéal pour des applications dynamiques ou une intégration avancée de flux de travail.

1. Allez dans Développeur > Visual Basic. Dans la fenêtre de l'éditeur VBA qui apparaît, cliquez sur Insérer > 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 Run button bouton dans l'éditeur VBA (ou appuyez sur F5). Suivez les invites pour sélectionner les plages de dates et de valeurs, et pour entrer les dates de début et de fin. Les valeurs maximales et minimales résultantes pour votre intervalle de dates spécifié seront affichées dans une boîte de dialogue.

Conseils :

  • Assurez-vous que les plages de dates et de valeurs sélectionnées contiennent le même nombre de lignes et correspondent directement l'une à l'autre.
  • Cette approche est particulièrement utile pour traiter des listes étendues ou pour automatiser des calculs répétitifs de maximum/minimum basés sur des critères changeants.
  • Si une plage vide ou invalide est sélectionnée, ou si la saisie de date n'est pas correctement formatée, le code risque de ne pas produire de résultat valide — revérifiez vos sélections avant de l'exécuter.

Autres méthodes Excel intégrées : Utilisez un Tableau croisé dynamique pour filtrer et afficher le max/min par plage de dates

Si vous préférez ne pas utiliser de formules ou de code, exploiter 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 récapitulatives telles que le maximum ou le minimum. Cette solution convient aux utilisateurs qui doivent explorer les données, générer des rapports ou ajuster facilement les critères à l'aide d'une interface graphique.

1. Sélectionnez votre tableau (y compris les dates et les valeurs), puis allez dans l'onglet Insertion et cliquez sur Tableau croisé dynamique.

2. Dans la boîte de dialogue Créer un Tableau croisé dynamique, choisissez où vous souhaitez placer le Tableau croisé dynamique, puis cliquez sur OK.

3. Dans le volet Champs du Tableau croisé dynamique, faites glisser le champ Date vers la zone Lignes, et le champ Valeurs (celui pour lequel vous souhaitez trouver le max/min) vers la zone Valeurs. Par défaut, il affichera la Somme ; cliquez sur le champ dans Valeurs, choisissez Paramètres du champ de valeur, et changez-le en Max ou Min selon les besoins.

4. Pour filtrer par une plage de dates spécifique, cliquez sur le menu déroulant des étiquettes de ligne pour le champ Date, choisissez Filtres de date > Entre…, puis spécifiez vos dates de début et de fin (par exemple, du 01/07/2016 au 01/12/2016) et cliquez sur OK.

Le Tableau croisé dynamique affichera maintenant la valeur maximale ou minimale pour chaque date dans votre plage spécifiée. Si vous avez besoin uniquement de la valeur la plus élevée ou la plus basse sur cette plage, vous pouvez filtrer davantage ou parcourir visuellement le résultat récapitulatif.

Notes :

  • Assurez-vous que toutes les cellules de la colonne Date soient des dates réelles (pas du texte). Des formats mixtes peuvent empêcher les filtres de prendre en compte certaines lignes.
  • Si les données sources changent, faites un clic droit sur le Tableau croisé dynamique et choisissez Actualiser pour mettre à jour les résultats.
  • Selon votre disposition, Excel peut regrouper les dates par mois/trimestre/année. Si nécessaire, faites un clic droit sur une date dans le Tableau croisé dynamique et choisissez Dissocier (ou Grouper… pour définir un niveau souhaité).
  • Pour les très grands ensembles de données, placer le Tableau croisé dynamique sur une nouvelle feuille de calcul peut améliorer la lisibilité et les performances.

Conseils :

  • Ajoutez un segment pour le champ Date (Analyser le Tableau croisé dynamique > Insérer un segment) pour modifier les plages de manière interactive.
  • Besoin d'un seul max/min sur toute la plage filtrée ? Après avoir filtré, triez la colonne Valeurs ou ajoutez un second champ Valeurs et basculez-le sur Max/Min.
  • Associez cela à un Graphique croisé dynamique pour un résumé visuel qui se met à jour avec vos filtres.

Cette méthode évite la saisie manuelle de formules et permet une interaction dynamique — excellente pour les présentations ou les scénarios multi-utilisateurs. Pour des sorties hautement personnalisées ou une automatisation par lots sur plusieurs feuilles, envisagez les approches par formules ou VBA.


Articles connexes :

Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionnez l'analyse de données avec : Exécution intelligente | Générer du code | Créer des formules personnalisées | Analyser des données et générer des graphiques | Appeler les Fonctions améliorées de Kutools
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons | Supprimer les lignes vides | Combinez les colonnes ou les cellules sans perte de données | Arrondir sans formule...
Super RECHERCHEV : Recherche multi-critères | Recherche multi-valeurs | Recherche multi-feuilles | Correspondance floue...
Liste déroulante avancée : Créer rapidement une liste déroulante | Liste déroulante dépendante | Liste déroulante à sélection multiple...
Gestionnaire de colonnes : Ajouter un nombre spécifique de Colonnes | Déplacer des Colonnes | Alterner l’état de visibilité des Colonnes masquées | Comparer des plages & Colonnes...
Fonctionnalités phares : Mise au point de la grille | Affichage de conception | Barre de formule améliorée | Gestionnaire de Classeur & Feuille de calcul | Bibliothèque d’AutoTexte | Sélecteur de date | Merge Worksheets | Chiffrer/Déchiffrer les cellules | Envoyer un e-mail par liste | Super Filtre | Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...)...
Top15 des ensembles d’outils :12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...) |50+ Types de graphiques (Diagramme de Gantt, ...) |40+ Formules pratiques (Calculer l’âge en fonction de la date de naissance, ...) |19 outils d’insertion (Insérer un code QR, Insérer une image depuis le chemin, ...) |12 outils de conversion (Convertir en mots, Conversion de devises, ...) |7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...) | ... et bien plus encore
Utilisez Kutools dans la langue de votre choix – disponible en Anglais, Espagnol, Allemand, Français, Chinois et plus de40 autres !

Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.

  • Activez la modification 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é de50 % et réduit des centaines de clics de souris chaque jour !

Tous les modules complémentaires Kutools. Une seule installation

La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.

Excel Word Outlook Tabs PowerPoint
  • Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
  • Un installateur, une licence — installation en quelques minutes (compatible MSI)
  • Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
  • Essai complet30 jours — sans inscription, ni carte bancaire
  • Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels