Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TV As Variant 'déclare la variable TV (Tableau des Valeurs)
Dim A As Variant 'déclare la variable A (Année)
Dim DD As Date 'déclare la variable DD (Date de Début)
Dim DF As Date 'déclare la variable DF (Date de Fin)
Dim C As Integer 'déclare la variable C (Compteur)
Dim ML As String 'déclare la variable ML (Mois Long)
Set O = Worksheets("Feuil1") 'définit l'onglet O (à Adapter à ton cas)
TV = O.Range("A1").CurrentRegion 'définit le tableau des valeurs TV
A = Application.InputBox("Quelle Annéee ?", "ANNÉE", Type:=2) 'définit l'année A
If A = False Or A = "" Then Exit Sub 'si bouton [Annuler] ou non renseignée, sort de la procédure
For J = 1 To 12 'boucle 1 : sur 12 mois
C = 0 'initialise le compteur
DD = DateSerial(A, J, 1) 'definit la date de début DD
DF = DateSerial(A, J + 1, 0) 'définit la date de fin DF
For I = 1 To UBound(TV, 1) 'boucle 2 : sur toutes les lignes I du tableau des valeurs
'si la date de la donnée ligne I colonne 1 de TV est comprise entre la date de début DD et la date de fin DF, incrémente le compteur C
If DateSerial(Year(TV(I, 1)), Month(TV(I, 1)), Day(TV(I, 1))) >= DD And DateSerial(Year(TV(I, 1)), Month(TV(I, 1)), Day(TV(I, 1))) <= DF Then C = C + 1
Next I 'prochaine ligne de la boucle 2
ML = Choose(J, "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre") 'définit le mois long
MsgBox "il y a " & C & " date(s) au mois de " & ML & " de l'année " & A & "." 'message
Next J 'prohain mois de la boucle 1
End Sub