'déclare la variable D1 comme 'Variant' et la variable D2 comme Date
'je pense qu'il y a une erreur est que le code devrait être 'Dim D1 As Date, D2 As Date'
Dim D1, D2 As Date
'définit la variable D1. Cdate convertit le résultat en type de donnée 'Date'
'le résultat = '1/+le texte de la ComboBox2/texte de la ComboBox1'
'si ComboBox2=4 ou 'Avril' et ComboBox1=2005 alors D1=01/04/20005
D1 = CDate('1/' & ComboBox2.Value & '/' & ComboBox1.Value)
'définit la variable D2
'c'est la date D1 + un mois
D2 = DateAdd('m', 1, D1) - 1
'définit la variable az (non déclarée)
'renvoie un numéro correspondant au jour de la semaine de la date D1
'2 indique que l'on considère 'Lundi' comme premier jour de la semaine
az = Weekday(D1, 2)
'boucle sur 37 items de 0 à 36
For i = 0 To 36
'je pense que U_chx_dte correspond à des Checkbox sur la feuille ou dans un UserForm
U_chx_dte(i).Visible = False 'masque chaque item
U_chx_dte(i) = False 'si ce sont des checkbox cela les décoche
U_chx_dte(i).Tag = '' 'attribut une chaîne vide à la propriété 'Tag' de cet item
Next i 'prochain item de la boucle
'boucle sur toutes les dates comprise entre D1 inclus et D2 inclus
For jcal = D1 To D2
'affiche l'item correspondant à la variable az + jour de la semaine de la date -2
U_chx_dte(az + Day(jcal) - 2).Visible = True
'modifie le texte de cet item
U_chx_dte(az + Day(jcal) - 2).Caption = Format(jcal, 'd')
'attribut la valeur du compteur de la boucle à la propriété 'Tag' de l'item
U_chx_dte(az + Day(jcal) - 2).Tag = jcal
Next jcal 'prochaine date de la boucle