DATEPICKER - Selection d'une date directement dans le UserForm
v
Bonjour,
J'ai récupéré ce mini date picker, mais je n'arrive pas à le faire fonctionner, si vous avez une solution je suis preneuse
Mise à disposition d'un contrôle calendier (Date Picker) (excel-pratique.com)
Le lien du date Picker que j'ai pris mais que je n'arrive pas a faire fonctionner
Private Sub Frmcalendrier_Activate()
'remplissage du formulaire
remplissage_formulaire (Date)
'focus sur sélection mois
SB_mois.SetFocus
End Sub
Private Sub CmdB_i_Click()
'assignation de la date à la cible choisie
target_date.Value = DateSerial(Year(TB_Date.Value), Month(TB_Date.Value), Val(CmdB_i.Obj_CommandButton.Caption))
'masquage formulaire
Me.Hide
End Sub
Private Sub SB_mois_SpinDown()
date_i = DateAdd("m", -1, TB_Date.Value)
remplissage_formulaire (date_i)
End Sub
Private Sub SB_mois_SpinUp()
date_i = DateAdd("m", 1, TB_Date.Value)
remplissage_formulaire (date_i)
End Sub
Private Sub SB_année_SpinDown()
date_i = DateAdd("yyyy", -1, TB_Date.Value)
remplissage_formulaire (date_i)
End Sub
Private Sub SB_année_SpinUp()
date_i = DateAdd("yyyy", 1, TB_Date.Value)
remplissage_formulaire (date_i)
End Sub
Private Sub remplissage_formulaire(date_sel As Date)
'stockage de la date sélectionnée
TB_Date.Value = date_sel
'remplissage mois et année
Mois.Value = Format(date_sel, "mmmm")
année.Value = Format(date_sel, "yyyy")
'détermination début de mois, fin de mois, début du calendrier
date_début_mois = DateSerial(Year(date_sel), Month(date_sel), 1)
date_fin_mois = DateAdd("m", 1, date_début_mois) - 1
date_début_calendrier = date_début_mois - Weekday(date_début_mois, vbMonday) + 1
'remplissage jours
date_i = date_début_calendrier
For Each contrôle In Me.Controls
If TypeOf contrôle Is MSForms.CommandButton Then
contrôle.BackColor = &HFFFFFF
contrôle.Locked = True
contrôle.Caption = Day(date_i)
If date_i >= date_début_mois And date_i <= date_fin_mois Then
contrôle.BackColor = &HFFFF80
If date_i = Date Then contrôle.BackColor = &H8080FF
contrôle.Locked = False
End If
date_i = date_i + 1
End If
Next contrôle
End Sub
End SubInvité
Bonjour Visolar,
1) vous voudrez bien indiquer votre version Excel dans votre profil SVP, "sheetsvba" ne veut rien dire
2) Je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum et notamment :
- Pour plus de lisibilité, utilisez la fonctionnalité </> pour insérer vos codes VBA (et si possible aussi pour vos formules Excel).
3) il est mieux de poster un fichier anonymisé
Comptant sur votre compréhension