rx.stephane
XLDnaute Nouveau
Bonjour,
J'ai inséré dans une feuille de classeur le calendrier "Contrôle Calendrier 11.0" à partir des objets Contrôles ActiveX / Autres contrôles.
J'ai récupéré du code pour faire en sorte qu'il se masque après sélection de la date :
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
Calendar1.Visible = False
End Sub
Et du code que j'ai adapté afin qu'il ne s'affiche que dans les cellules voulues :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 17 Or Target.Column = 6 And Target.Row = 17 Or Target.Column = 6 And Target.Row >= 39 And Target.Row <= 48 Or Target.Column = 11 And Target.Row = 5 Then
Calendar1.Visible = True
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar1.Visible = False
End If
End Sub
Tout cela fonctionne parfaitement, sauf que :
Lorsque le calendrier s'affiche, il apparaît avec, comme date, la dernière sélectionnée qui n'est pas forcement la date du jour.
Je veux qu'il affiche à chaque appel la date du jour (date machine).
Merci à vous si vous avez une solution.
J'ai inséré dans une feuille de classeur le calendrier "Contrôle Calendrier 11.0" à partir des objets Contrôles ActiveX / Autres contrôles.
J'ai récupéré du code pour faire en sorte qu'il se masque après sélection de la date :
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
Calendar1.Visible = False
End Sub
Et du code que j'ai adapté afin qu'il ne s'affiche que dans les cellules voulues :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 3 And Target.Row = 17 Or Target.Column = 6 And Target.Row = 17 Or Target.Column = 6 And Target.Row >= 39 And Target.Row <= 48 Or Target.Column = 11 And Target.Row = 5 Then
Calendar1.Visible = True
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + ActiveCell.Width
Else
Calendar1.Visible = False
End If
End Sub
Tout cela fonctionne parfaitement, sauf que :
Lorsque le calendrier s'affiche, il apparaît avec, comme date, la dernière sélectionnée qui n'est pas forcement la date du jour.
Je veux qu'il affiche à chaque appel la date du jour (date machine).
Merci à vous si vous avez une solution.