Ce court tutoriel montrera comment convertir une chaîne en date en VBA.
Les dates dans Excel sont stockées sous forme de nombres, puis formatées pour s'afficher sous forme de date. Le jour 1 dans le monde d'Excel était le 1er janvier 1900 (Windows par défaut) ou le 1er janvier 1904 (Macintosh par défaut) - ce qui signifie que le 5 août 2022 est le jour 44413 depuis le 1er janvier 1900. Pour convertir une chaîne en date dans Excel , nous devons d'abord convertir la chaîne en nombre, puis convertir ce nombre en date.
Fonction CDate
Nous pouvons utiliser une fonction appelée CDate en VBA pour convertir une chaîne en date.
1234567 | Date de sous-conversion()Dim dte As SingleDim strD en tant que chaînestrD = "10/05/2020"dte = CDate(strD)MsgBox dteFin du sous-marin |
Comme nous avons déclaré une variable numérique (dte comme Single), la msgbox renverra le numéro qui fait référence à la date entrée.
Il est important que nous saisissions l'année en utilisant les 4 chiffres de l'année (c'est-à-dire 2022 et pas seulement 20), sinon le nombre renvoyé pourrait ne pas être celui attendu. Excel n'interprète pas la partie année de la date - ceci est contrôlé par le panneau de configuration de notre PC.
Cependant, si nous déclarons les variables en tant que variable de date, la boîte de message renverra le nombre converti en date.
1234567 | Date de sous-conversion()Dim dte As DateDim strD en tant que chaînestrD = "10/05/2020"dte = CDate(strD)MsgBox dteFin du sous-marin |
Nous pouvons aller plus loin et formater la date au type de format de date que nous aimerions voir.
1234567 | Date de sous-conversion()Dim dte comme chaîneDim strD en tant que chaînestrD = "10/05/2020"dte = Format(CDate(strD), "jj mmmm aaaa")MsgBox dteFin du sous-marin |
Dans cet exemple, nous convertissons la chaîne en date, puis de nouveau en chaîne !
Si nous devions omettre complètement l'année, Excel suppose l'année en cours.