Ce post vous propose une méthode pour aider l'utilisateur à saisir une date dans une cellule en lui proposant un calendrier.
Pour l'exemple on prendra comme hypothèse que la saisie se fait dans la cellule E11.
1 - Ajouter sur la feuille contrôle Calendrier que vous trouverez dans les contrôles complémentaires de la boite à outils VBA, et le positionner en bas a droite du coin de la cellule E11
2 - Dans les propriétes du calendrier, mettre visible à false
3 - Dans l'évenement Selection_Change de la feuille on va gérer l'affichage du calendrier si la cellule est sélectionnée
4 - L'affichage de la date dans la cellule sera provoqué par le click sur le calendrier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$E$11" Then Me.Calendar1.Visible = True Else Me.Calendar1.Visible = False End If End Sub
5 - Pour éviter les saisies forcées, on utilsera la validation (menu données) que l'on mettra a date supérieur à 01/01/1900 (a vous de voir)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub Calendar1_Click() Range("E11").Value = Me.Calendar1.Value End Sub
Et avec le fichier c'est plus parlant : Calendrier.xls
Partager