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()
    maDate = 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
        
        maDate = datePicker(Range("A1"))
        
        If maDate <> "" Then 'Si date choisie par l'utilisateur
            Range("A1") = maDate
        End If
        
    End If
    
End Sub
excel datepicker date selection 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) :

maDate = datePicker
maDate = datePicker(, 0)
datepicker version 0 date picker

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

maDate = datePicker(, 1)
datepicker version 1 date picker

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

maDate = 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 :

maDate = 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 :

maDate = datePicker(, , , 1)
excel datepicker semaine iso date picker

Argument 5 (titre)

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

maDate = datePicker(, , , , "Exemple de titre")

Combiner les options

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

maDate = 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 92 nouvelles fonctions).