Fonction VBA : DateAdd
La fonction VBA DateAdd ajoute l'intervalle de temps spécifié (en secondes, minutes, heures, jours, mois ou années) à une date.
Utilisation :
DateAdd(intervalle, nombre, date)
Exemple d'utilisation
Utilisation de la fonction DateAdd avec différents intervalles de temps :
Sub exemple()
maDate = #10/30/2023 3:35:45 PM#
ajout = 3
'Ajout de 3 jours
MsgBox DateAdd("d", ajout, maDate) 'Renvoie : 02.11.2023 15:35:45
'Ajout de 3 heures
MsgBox DateAdd("h", ajout, maDate) 'Renvoie : 30.10.2023 18:35:45
'Ajout de 3 minutes
MsgBox DateAdd("n", ajout, maDate) 'Renvoie : 30.10.2023 15:38:45
'Ajout de 3 secondes
MsgBox DateAdd("s", ajout, maDate) 'Renvoie : 30.10.2023 15:35:48
'Ajout de 3 mois
MsgBox DateAdd("m", ajout, maDate) 'Renvoie : 30.01.2024 15:35:45
'Ajout de 3 années
MsgBox DateAdd("yyyy", ajout, maDate) 'Renvoie : 30.10.2026 15:35:45
End Sub
Si vous entrez le nombre 3.9 au lieu de 3, vous obtiendrez le même résultat car la fonction DateAdd ne tient compte que de la partie entière du nombre.
Une alternative consiste à additionner directement le nombre à la date (cette solution permet de tenir compte des nombres à virgule) :
Sub exemple()
maDate = #10/30/2023 3:00:00 PM#
ajout = 3.5
'Ajout de 3.5 jours
MsgBox maDate + ajout 'Renvoie : 03.11.2023 03:00:00
'Ajout de 3.5 heures
MsgBox maDate + ajout / 24 'Renvoie : 30.10.2023 18:30:00
'Ajout de 3.5 minutes
MsgBox maDate + ajout / (24 * 60) 'Renvoie : 30.10.2023 15:03:30
End Sub