Rapport de message :*
 

Re: XL Calendar dans TextBox d'un Userform

Titre du sujet : Re: XL Calendar dans TextBox d'un Userform
par myDearFriend! le 06/04/2011 23:58:33

Bonsoir Philmfr, bienvenue sur XLpages.com
Bonsoir le Forum,

Tu trouveras en pièce jointe peut-être une façon d'obtenir l'effet souhaité ou, au moins, une piste à creuser.

J'ai pris pour base la FAQ expliquant l'utilisation du mDF XLcalendar dans un Userform, puis repris le classeur exemple donné auquel j'ai ajouté 2 contrôles TextBox dont le code évènementiel est le suivant :

Option Explicit
'**************************************************************************
'Pour période début et fin
'**************************************************************************
'Il est préférable de mettre la propriété "Locked" à True sur le premier TextBox (Date Début)
'afin d'empêcher l'utilisateur de saisir manuellement dans la zone et perturber
'l'effet "Change()" ci-dessous...

Private Sub txtPeriodeDEB_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    'Ouvre le calendrier
    Cancel = True
    mDFXLcalShow CalCtrl:=txtPeriodeDEB, CalFormat:="dd/mm/yyyy", CalLang:="FR"
End Sub

Private Sub txtPeriodeDEB_Change()
    'Ferme le calendrier et le réouvre automatiquement pour la date de FIN (par défaut, à la même date)
    With txtPeriodeFIN
        If .Text = "" Then .Text = txtPeriodeDEB.Text
        .SetFocus
        mDFXLcalHide
        mDFXLcalShow CalCtrl:=txtPeriodeFIN, CalFormat:="dd/mm/yyyy", CalLang:="FR"
    End With
End Sub

Private Sub txtPeriodeFIN_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    'Ouvre le calendrier
    Cancel = True
    mDFXLcalShow CalCtrl:=txtPeriodeFIN, CalFormat:="dd/mm/yyyy", CalLang:="FR"
End Sub

Voir dans l'exemple joint l'effet obtenu qui devrait répondre à ton besoin je pense...
Cordialement,