Bonjour,
En consultant l'aide VBA (F1 mon amie), j'ai découvert la fonction Date$ (avec un Dollar).
Je connais ce type de fonction avec les manipulations de base de String (Mid$, Left$ etc...) qui ne sont en réalité que stricto sensu la même chose que leurs "parentes" de type Variant, mais typées en String.
Cependant, avec la fonction Date, il y a une particularité que je ne saisis pas.
Extrait de l'aide VBA concerné :
En gras, souligné, la partie qui a un "comportement inattendu" lors de mes essais.Date, fonction
Renvoie une valeur de type Variant (Date) contenant la date système actuelle.
Date, et s'il s'agit d'un calendrier Grégorien, le comportement de Date$ reste inchangé par rapport à la valeur de la propriété Calendar. Si vous utilisez un calendrier Hijri, Date$ renvoie une chaîne de 10 caractères sous la forme mm-dd-yyyy, mm (01-12), dd (01-30) et yyyy (1400-1523) désignant respectivement le mois, le jour et l'année Hijri. La plage de valeurs équivalentes dans le calendrier Grégorien est comprise entre le 1er janvier 1980 et le 31 décembre 2099.
En effet, si je lis bien, et étant en calendrier grégorien (du moins il me semble bien!), Date doit être égale à Date$.
Or, le code suivant renvoie Faux :
Il y a une inversion jours - mois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MsgBox Date = Date$
Date = 05/12/2018 et Date$ = 12/05/2018
Je crois savoir que les dates, en texte, lors de transferts VBA => Excel sont souvent mal interprétées.
Est-ce du à cela ou à une tout autre incompréhension de ma part?
Partager