Sub Mensuel()
'Détermination des variables
Dim NBR_COURS_mois As Integer
Dim NBR_CLOS_mois As Integer
Dim Mensuel As String
Sheets("EVT-MUSE").Activate
Periode_mois = Month(CDate("01/" & Sheets("Préface").Range("E13")))
'Sheets("Préface").Range("C7") = Periode_mois
Periode_Année = Year(CDate("01/01/" & Sheets("Préface").Range("E12")))
'Sheets("Préface").Range("C8") = Periode_Année
Mensuel = Format(Periode_mois & "/" & Periode_Année, "mm/yyyy")
'Sheets("Préface").Range("C9") = Mensuel
If Mensuel = "" Then 'on fait le test AVANT la boucle == pas la peine de le faire à chaque fois
MsgBox "La date de fin saisie est avant la date de début." & vbCrLf & " Veuillez saisir des bonnes valeurs!!", vbInformation + vbOKOnly, "INFORMATION"
Exit Sub
End If
'initialisation des compteurs
NBR_CLOS_mois = 0
NBR_COURS_mois = 0
With Sheets("EVT-MUSE").ListObjects("t_EvtMuse") 'avec la table "t_EvtMuse" de la feuille
For i = 1 To .ListRows.Count 'pour chaque ligne
Date_Ouverture = Format(.ListColumns("Date Ouverture").DataBodyRange(i), "mm/yyyy")
If Date_Ouverture >= Mensuel And Date_Ouverture <= Mensuel Then 'si la date est dans la période
Select Case .ListColumns("Statut").DataBodyRange(i) 'selon le statut
Case "Clos"
NBR_CLOS_mois = NBR_CLOS_mois + 1
Case "En cours"
NBR_COURS_mois = NBR_COURS_mois + 1
End Select
End If
Next i
'mise à jour des résultats dans la feuille
Sheets("Préface").Range("I13") = NBR_CLOS_mois
Sheets("Préface").Range("H13") = NBR_COURS_mois
Sheets("Préface").Range("G13") = NBR_CLOS_mois + NBR_COURS_mois
Sheets("Préface").Select
End With
End Sub