Re : créer 1 calendrier dans un userform
Bonjour à tous
Pierre: Pour avoir la date du jour à l'ouverture du calendrier de Roland🙂 que je salue, tu peux modifier ce code dans le USF (en fait, c'est la dernière ligne avant le End Sub):
Code VBA:
Private Sub UserForm_Activate() 'Activate pour capter me.tag
CalAnneDEBUT = 1901: CalAnneFIN = 2199
' date d'appel sinon celle d'aujourd'hui
If IsDate(Me.Tag) Then CalendrierDateSELECT = Me.Tag Else CalendrierDateSELECT = Date
' test limite année
CalJourMIN = Day(D): CalMoisMIN = Month(D): CalAnneMIN = Year(D)
If Year(CalendrierDateSELECT) < CalAnneDEBUT Or Year(CalendrierDateSELECT) > CalAnneFIN Then
MsgBox "La Date placée dans Calendrier.Tag est invalide !?", vbCritical, "Erreur"
Unload Me: Exit Sub
End If
' init liste annee/mois
CbAnnee.Clear: For I = CalAnneDEBUT To CalAnneFIN: CbAnnee.AddItem I: Next
CbMois.Clear: For I = 1 To 12: CbMois.AddItem Choose(I, "Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"): Next
' init date aujourd'hui
C$ = Format(Date, "dddd dd/mm/yyyy")
Mid(C$, 1, 1) = UCase(Mid(C$, 1, 1)): I = InStr(C$, " ")
LbAujourdhui.Caption = Left(C$, I - 1) & vbLf & Mid(C$, I + 1)
' Init Calendrier
CalendrierMiseAjour CalendrierDateSELECT
' Init groupe des LabelJours
Dim Ctrl As Control
For Each Ctrl In Me.CadreJours.Controls
Set BoutonJourCalendrier(Ctrl.Tag).GroupBoutonJourCalendrier = Ctrl
Next
'Stop
Set Ctrl = Nothing
CalendrierMiseAjour Date
End Sub