Afficher le calendrier Excel à la date du jour

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.
 

Abel

XLDnaute Accro
Re : Afficher le calendrier Excel à la date du jour

Bonjour rx.stephane

Je ne connais pas bien la syntaxe du calendar.

Dans une autre vie, on utilisais le DtPicker qui doit être un peu équivalent en présentation. Peu pas dire pour la gestion.

Mais on pouvait lui dire DTPicker1.value = Now ou =Date, ce qui le mettais à la date du moment.

En espérant que ça te dépanne.

Abel.

Oups ! Bonjour Hasco.
 

rx.stephane

XLDnaute Nouveau
Re : Afficher le calendrier Excel à la date du jour

Bonjour Hasco,

Merci pour cette réponse super rapide.

Je viens de faire des essais mais je ne trouve pas à quel endroit, dans mon code existant, rajouter cette instruction.

Si tu peux m'aider.

@+
 
G

Guest

Guest
Re : Afficher le calendrier Excel à la date du jour

Re,

C'est ici:
Code:
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.Value = Date
Calendar1.Visible = True
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Left + ActiveCell.Width 
Else
Calendar1.Visible = False
End If
End Sub

A+
 

rx.stephane

XLDnaute Nouveau
Re : Afficher le calendrier Excel à la date du jour

Super,

Merci Hasco, ça fonctionne !!!

J'en profite pour remercier également Abel mais bien qu'ayant dans "Autres contrôle" le complément "Microsoft Date and Time Picker Control 6.0 (SP6)", j'ai fais l'essai avec DTPicker1.value = Date au même emplacement que celui indiqué par Hasco mais cela génère une erreur d'exécution '424'.

Un bon week-end à vous et encore merci.
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 339
Membres
102 865
dernier inscrit
FreyaSalander