Formule 6 mois glissants avec nombre maximum

Bonjour,

J'ai besoin d'aide afin de trouver une formule ou plusieurs formules. Je suis en possession de deux colonnes, l'une comprenant des dates et l'autre précisant si l'événement lié à la date a eu lieu ou non (oui/non). Initialement, ce tableau me servait à connaître le nombre d'événement qu'il y a eu dans l'année (en comptant le nombre de oui).

Cependant, il faudrait également que je puisse calculer le nombre d'événement sur 6 mois glissants. Mais difficulté supplémentaire : ce nombre d'événements ne doit pas être calculé sur 6 mois glissants à partir de la date d'aujourd'hui mais sur les 6 mois contenant le maximum/le plus d'événement au total.

Par exemple :

Janvier : 0

Février : 2

Mars : 2

Avril : 0

Mai : 1

Juin : 1

Juillet : 1

Août : 2

Septembre : 1

Octobre : 1

Novembre : 2

Décembre : 0

Si on prend cette plage-ci, le nombre d’événement sur 6 mois glissants serait 8 : les six mois où le nombre d’événements a été le plus élevés est de juin à novembre et ils sont au nombre de 8 (résultat que je souhaiterai qu’il apparaisse grâce à une formule).

Je ne parviens pas à articuler les dates, le oui/non et le calcul des 6 mois glissants où il y a le plus d'événements. Il me faudrait peut-être plusieurs formules ? Je suis perdue.

J'espère que j'ai été claire dans mes explications, je peine vraiment à expliquer la formule que je cherche et ses objectifs.

Je vous remercie,

Bonjour Wist,

Une solution (sûrement parmi d'autres)

Bonjour,

Autre solution avec une fonction personnalisée

exemple, dans la cellule E2, mettre cette formule: =Nb_Max(C1) C1 est la première cellule de la colonne à calculer.

Le fichier

le code:

Function Nb_Max(Cell As Range) As String
    Dim Col As Long, i As Long, Somme_Max As Long, Pos As Long

    DerLig = ActiveSheet.Cells.End(xlDown).Row
    Col = Cell.Column
    Somme_Max = 0
    For i = 2 To DerLig
          If Application.WorksheetFunction.Sum(Range(Cells(i, Col), Cells(i + 5, Col))) > Somme_Max Then
            Somme_Max = Application.WorksheetFunction.Sum(Range(Cells(i, Col), Cells(i + 5, Col)))
            Pos = i
          End If
    Next i
    Nb_Max = "A partir de la ligne " & Pos & " à " & Pos + 5 & " pour un total de " & Somme_Max
End Function

Cdlt

Je vous remercie infiniment !

Rechercher des sujets similaires à "formule mois glissants nombre maximum"