VBA – Variable de Type Date
In this Article
- Variable de Date VBA
- Affectation de la Date d’Aujourd’hui à une Variable
- Attribuer la Date et l’Heure Actuelle à la Variable
- Attribuer l’Heure Actuelle à la Variable
- Affectation d’une Date à une Variable avec DateSerial
- Affectation d’une Heure à une Variable avec TimeSerial
- Fonction VBA DateValue
- Fonction TimeValue en VBA
- Exemple de Variable de Date Avec Excel VBA
- Variable de Type Date dans Access VBA
Nous avons déjà vu ce que sont les variables, les types de données et les constantes, dans notre tutoriel Types de données VBA – Variables et constantes. Dans ce tutoriel, nous allons voir comment déclarer une variable de type date.
En VBA, le type de données date est stocké sous forme décimale. Les dates et les heures peuvent être stockées dans ce type de données. Le type de données date de VBA peut stocker des valeurs allant du 1er janvier 100 au 31 décembre 9999.
Variable de Date VBA
Vous déclarez une variable sous forme de date à l’aide du mot-clé Dim:
Dim dateUn as Date
Vous pouvez ensuite affecter une date à la variable date. Il existe plusieurs façons de générer des dates à affecter aux variables :
Affectation de la Date d’Aujourd’hui à une Variable
La fonction Date renvoie la date du jour :
Dim dtAujourdhui
dtAujourdhui = Date
Attribuer la Date et l’Heure Actuelle à la Variable
La fonction Now renvoie la date et l’heure du actuelle du système :
Dim dMaintenant
dMaintenant = Now
Attribuer l’Heure Actuelle à la Variable
La fonction time renvoie l’heure actuelle :
Dim tHeure
tHeure = Heure
Affectation d’une Date à une Variable avec DateSerial
La fonction DateSerial renvoie une date basée sur l’année, le mois et le jour saisis :
Dim dsDate
dsDate = DateSerial(2010, 11, 11)
Affectation d’une Heure à une Variable avec TimeSerial
La fonction TimeSerial renvoie une heure, basée sur l’heure, les minutes et les secondes saisies :
Dim tsTime
tsTime = TimeSerial (10, 10, 45)
Vous devez entourer les dates d’un # ou d’un » lorsque vous les utilisez dans votre code, comme indiqué ci-dessous :
Fonction VBA DateValue
La fonction VBA DateValue peut être utilisée pour initialiser une date. Le code suivant peut être utilisé pour initialiser une date en VBA :
MsgBox DateValue("1/1/2010")
Fonction TimeValue en VBA
La fonction TimeValue génère une heure :
MsgBox TimeValue("21:30:57")
Exemple de Variable de Date Avec Excel VBA
Cette procédure montre comment créer des variables de date, leur attribuer des valeurs et les inscrire dans une feuille de calcul Excel :
Sub DéclarationDeVariablesDeTypeDate()
Dim dateUn As Date
Dim dateDeux As Date
dateUn = #1/1/2019#
dateDeux = "1/2/2019"
Range("A1").Value = dateUn
Range("A2").Value = dateDeux
End Sub
Le résultat est le suivant :
Vous pouvez en savoir plus sur les fonctions de date dans ce tutoriel.
Variable de Type Date dans Access VBA
La variable de type date fonctionne exactement de la même manière dans Access VBA et dans Excel VBA. Cette procédure montre comment créer une variable de date et mettre à jour le champ d’une table Access avec sa valeur.
Sub DéclarationDeVariablesDeTypeDate()
Dim dtTravail As Date
dtTravail = #05/10/2020#
DoCmd.RunSql "UPDATE tblContrats SET DateTravail = #" & dtTravail & "# WHERE NoContrat = 6"
End Sub