Convertir une variable de type String contenant une date en une variable de type Date est quelque chose de simple avec la fonction CDate.
Sauf si le format de la date n'est pas en accord avec le format de l'environnement dans lequel tourne votre application.
Je m'explique :
Supposons que vous exécutiez CDate("01/02/03") dans une application
- Si l'utilisateur est en environnement "français" il obtiendra le 1ier Février 2003.
- Si l'utilisateur est en environnement "américain" il obtiendra le 2 Janvier 2003.
La fonction ci-jointe à été écrite pour enrichir CDate en lui passant le format de la date à traiter.
Dans notre exemple du "01/02/03", si nous avons "JJ/MM/AA", il faudra lui dire :
CDateFormat( "01/02/03", "dd/MM/yy" )
Dans le code, je craie un nouvel environnement de langue avec le format passé en paramètre. Là, la fonction CDate répond à mon besoin. (J'ai prie soin de sauver l'environnement pour le restaurer avant de sortir)
Ayant fait appel à Culture, il me fut simple d'étendre la fonction d'un troisième paramètre optionnel pour répondre à une conversion du type :
CDateFormat("dimarts, 1 / juliol / 2003",, "ca-ES")
Le code contient en commentaire les liens vers les pages d'aide MS pour les formats et codes de culture.