Fonction VBA : DatePicker

La fonction VBA DatePicker ouvre une boîte de dialogue sous forme de calendrier permettant à l'utilisateur de choisir une date.

Le calendrier est disponible dans 3 styles différents, un bouton "Aujourd'hui" peut être affiché pour sélectionner la date du jour, les numéros de semaines peuvent être affichés à droite du calendrier et il est également possible de définir une date sélectionnée par défaut.

Cette fonction ne renvoie rien si l'utilisateur n'a pas choisi de date.


Utilisation :

DatePicker

ou

DatePicker(date_initiale, style, bouton_ajd, no_semaine, titre) (tous les arguments sont facultatifs)

Exemple d'utilisation simple :

Vous avez la possibilité d'utiliser cette fonction sans entrer d'arguments :

Sub exemple()
    ma_date = DatePicker
End Sub

Vous obtiendrez alors le calendrier par défaut :

excel-datepicker-defaut - date-picker

La fonction DatePicker renverra ensuite une date (si l'utilisateur a validé son choix) :

Argument 1 (date_initiale) :

Par défaut, la date du jour est automatiquement sélectionnée mais vous avez la possibilité de définir la date qui doit être sélectionnée à l'ouverture de DatePicker.

Dans cet exemple, lorsque l'utilisateur double-clique sur la cellule A1, la fenêtre devra s'ouvrir et permettre de modifier cette date :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   
    If Target.Address = "$A$1" Then 'Si cellule A1
       
        Cancel = True
       
        ma_date = DatePicker(Range("A1"))
       
        If ma_date <> "" Then 'Si date choisie par l'utilisateur
           Range("A1") = ma_date
        End If
       
    End If
   
End Sub
excel-datepicker-date-selection - date-picker

Argument 2 (style) :

Le style par défaut est trop grand pour vous ? Pas d'inquiétudes vous pouvez choisir l'un des 2 autres ...

Pour afficher le style par défaut, laissez cet argument vide (ou entrez la valeur 0) :

ma_date = DatePicker
ma_date = DatePicker(, 0)
datepicker-version-0 - date-picker

Pour afficher le style suivant entrez la valeur 1 en second argument :

ma_date = DatePicker(, 1)
datepicker-version-1 - date-picker

Pour afficher le dernier style entrez la valeur 2 en second argument :

ma_date = DatePicker(, 2)
datepicker-version-2 - date-picker

Argument 3 (bouton_ajd) :

Par défaut, la date du jour est sélectionnée dans le calendrier mais vous avez malgré tout la possibilité d'ajouter un bouton aujourd'hui qui va vous permettre de sélectionner la date du jour en 1 clic.

Pour afficher ce bouton, entrez la valeur 1 en troisième argument :

ma_date = DatePicker(, , 1)
excel-datepicker-aujourdhui - date-picker

Argument 4 (no_semaine) :

Vous avez la possibilité d'afficher les numéros de semaine ISO en entrant la valeur 1 en quatrième argument :

ma_date = DatePicker(, , , 1)
excel-datepicker-semaine-iso - date-picker

Argument 5 (titre) :

Le dernier argument vous permet de modifier le titre de l'UserForm :

ma_date = DatePicker(, , , , "Exemple de titre")

Combiner les options :

Vous pouvez bien entendu définir plusieurs arguments à la fois pour obtenir le résultat souhaité :

ma_date = DatePicker("1/1/2019", 2, 1, 1, "Démo Excel-Pratique")
excel-datepicker-personnalise - date-picker

Remarque : cette fonction nécessite l'installation du pack de fonctions XLP (un add-in gratuit pour Excel qui ajoute 77 nouvelles fonctions).