Piloter le calendrier MSCal par des boutons

Le calendrier ActiveX MSCal (ou Microsoft Calendar) dispose de listes déroulantes pour sélectionner le mois et l’année. Mais comment se déplacer dans ce calendrier à l’aide de boutons personnalisés ?

Mise en place

  • Je dispose d’un formulaire sur lequel un calendrier MSCal a été placé (voir l’article Calendrier MSCal pour plus de détails). Ce calendrier est nommé cal dans ce qui suit.
  • J’ai ajouté 4 boutons sur le formulaire, nommés dans l’ordre : btnMoisPrecedent, btnJourPrecedent, btnJourSuivant et btnMoisSuivant. Le rôle des boutons devrait parler de lui-même !

Un peu de code

Si vos boutons portent les mêmes noms que les miens, vous pouvez directement recopier ce qui suit dans le module de votre formulaire (pas dans un module standard) :

Quelques explications

  • Les 2 premiers boutons sont assez simples : on remplace la date du calendrier (cal.Value) par le jour précédent (cal.Value - 1) ou le jour suivant (cal.Value + 1).
  • Pour ce qui est des déplacements par mois, on ajoute/retranche un mois à l’aide de la fonction DateAdd(). Dans mon cas, j’ai choisi de repositionner le calendrier au 1 du mois précédent ou suivant. Si vous souhaitez conserver le jour de départ, enlevez les - Day(dt) + 1.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *