Fonction d'ajout de date VBA

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
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

wave wave wave wave wave