DateAjouter une description
La fonction VBA DateAdd vous permet d'ajouter (ou de soustraire) des jours, des mois, des années, des heures, des trimestres, etc. aux dates ou aux heures.
Date simpleAjouter des exemples
Voici un exemple simple de DateAdd :
123 | Sous-DateAjouter_Jour()MsgBox DateAjouter("d", 20, #4/1/2021#)Fin du sous-marin |
Ce code ajoutera 20 jours (indiqués par « d ») à la date 01/04/2021 :
Au lieu de cela, nous pouvons changer l'argument Interval de « d » à « m » pour ajouter 20 mois à la date 4/1/2021 :
123 | Sous DateAjouter_Mois()MsgBox DateAjouter("m", 20, #4/1/2021#)Fin du sous-marin |
Au lieu d'afficher la date dans une boîte de message, nous pouvons l'affecter à une variable :
123456 | Sous DateAjouter_Jour2()Dim dt comme datedt = DateAjouter("d", 20, #4/1/2021#)MsgBox dtFin du sous-marin |
DateAjouter la syntaxe
Dans l'éditeur VBA, vous pouvez taper "DateAdd(" pour voir la syntaxe de la fonction DateAdd :
La fonction DateAdd contient 3 arguments :
Intervalle: Unité de temps (jours, mois, années, etc.). Entrez comme chaîne. (ex. « m » pour le mois)
Réglage | La description |
---|---|
aaaa | Année |
q | Trimestre |
m | Mois |
oui | Jour de l'année |
ré | Jour |
w | Jour de la semaine |
ww | La semaine |
h | Heure |
m | Minute |
s | Seconde |
Nombre: Valeur numérique représentant le nombre d'unités de temps à ajouter. (ex. 20 pour ajouter 20 unités)
Date: La date initiale. Voir la section suivante.
Programmation VBA | Le générateur de code fonctionne pour vous !
Exemples de fonction Excel VBA DateAdd
Dates de référencement
Pour commencer, nous allons montrer différentes manières de référencer des dates à l'aide de la fonction VBA DateAdd.
Chacune de ces fonctions DateAdd produit le même résultat :
123456789 | Sous DateAdd_ReferenceDates()MsgBox DateAjouter("m", 2, #4/1/2021#)MsgBox DateAjouter("m", 2, DateSerial (2021, 4, 1))MsgBox DateAdd("m", 2, DateValue("1 avril 2022"))Fin du sous-marin |
Ou vous pouvez référencer une cellule contenant une date :
12345 | Sous DateAdd_ReferenceDates_Cell()MsgBox DateAdd("m", 2, Range("C2").Valeur)Fin du sous-marin |
Ou créez et référencez une variable de date :
12345678 | Sous DateAjouter_Variable()Dim dt comme datedt = #4/1/2021#MsgBox DateAjouter("m", 2, dt)Fin du sous-marin |
Ajouter ou soustraire des dates
Nous vous avons déjà montré comment ajouter à une date :
123456 | Sous DateAjouter_Jour2()Dim dt comme datedt = DateAjouter("d", 20, #4/1/2021#)MsgBox dtFin du sous-marin |
Vous pouvez soustraire des dates en utilisant un nombre négatif (ex. -20 au lieu de 20) :
123456 | Sous DateAjouter_Jour()Dim dt comme datedt = DateAjouter("d", -20, #4/1/2021#)MsgBox dtFin du sous-marin |
Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !
Ajout de différentes unités de temps
Années
123 | Sous DateAjouter_Années()MsgBox DateAjouter("aaaa", 4, #4/1/2021#)Fin du sous-marin |
Trimestre
123 | Sous DateAjouter_Quarts()MsgBox DateAjouter("q", 2, #4/1/2021#)Fin du sous-marin |
Mois
123 | Sous DateAjouter_Mois()MsgBox DateAjouter("m", 2, #4/1/2021#)Fin du sous-marin |
Jour de l'année
123 | Sous DateAdd_DaysofYear()MsgBox DateAjouter("y", 2, #4/1/2021#)Fin du sous-marin |
Jour
123 | Sous DateAdd_Days3()MsgBox DateAjouter("d", 2, #4/1/2021#)Fin du sous-marin |
Jour de la semaine
123 | Sous-dateAjouter_jours de la semaine()MsgBox DateAjouter("w", 2, #4/1/2021#)Fin du sous-marin |
La semaine
123 | Sous DateAjouter_Semaines()MsgBox DateAjouter("ww", 2, #4/1/2021#)Fin du sous-marin |
Programmation VBA | Le générateur de code fonctionne pour vous !
Ajouter à aujourd'hui
Ces exemples ajouteront des unités de temps à aujourd'hui en utilisant la fonction Date.
123456789 | Sous DateAjouter_Année_Test()Dim dtAujourd'hui en tant que dateDim dtLater As DatedtAujourd'hui = DatedtLater = DateAdd("aaaa", 1, dtAujourd'hui)MsgBox "Un an plus tard est " & dtLaterFin du sous-marin |
123 | Sous DateAdd_Quarter_Test()MsgBox "2 trimestres plus tard est " & DateAdd("q", 2, Date)Fin du sous-marin |
Ajouter et soustraire du temps
La fonction DateAdd fonctionne également avec Times. Voici quelques exemples d'ajout (ou de soustraction) de temps à un temps :
Heure
Cet exemple ajoutera 2 heures à une heure :
123 | Sous DateAjouter_Heure()MsgBox DateAjouter("h", 2, #4/1/2021 6:00:00#)Fin du sous-marin |
Minute
Cet exemple soustraira 120 minutes à l'heure actuelle :
123 | Sous DateAdd_Minute_Subtract()MsgBox DateAjouter("n", -120, Maintenant)Fin du sous-marin |
Seconde
123 | Sous DateAjouter_Seconde()MsgBox DateAjouter("s", 2, #4/1/2021 6:00:00#)Fin du sous-marin |
Formatage des dates
Lorsque les dates (ou heures) sont affichées dans Excel, UserForms ou Messagebox, vous devez indiquer comment les dates doivent être affichées à l'aide de la fonction Format. Nous avons inclus quelques exemples ci-dessous :
123456789101112131415161718 | Sous-formatageDatesTimes()'Renvoie la date et l'heure actuellesdt = maintenant()'ex. 07/02/2021Plage("B2") = Format(dt, "mm/jj/aaaa")'ex. 2 juillet 2022Plage("B3") = Format(dt, "mmmm d, aaaa")'ex. 2 juillet 2022 09:10Plage("B4") = Format(dt, "mm/jj/aaaa hh:mm")'ex. 7.2.21 9h10Plage("B5") = Format(dt, "m.d.yy h:mm AM/PM")Fin du sous-marin |