Fonction VBA DateDiff

DateDiff Description

Renvoie la différence entre deux valeurs de date, en fonction de l'intervalle spécifié.

Exemples simples de DateDiff

Voici un exemple simple de DateDiff :

123 Sous DateDiff_Année()MsgBox DateDiff("aaaa", #1/1/2019#, #8/1//2021#)Fin du sous-marin

Ce code renverra 2. C'est la différence sur l'année (indiquée par « yyyy ») entre 2 jours. (2021 - 2022 = 2)

Dans l'exemple ci-dessus, changer les positions de date1 et date2.

123 Sous DateDiff_Année()MsgBox DateDiff("aaaa", #8/1//2021#, #1/1/2019#)Fin du sous-marin

Ce code retournera -2.

Syntaxe DateDiff

Dans l'éditeur VBA, vous pouvez taper "DateDiff(" pour voir la syntaxe de la fonction DateDiff :

La fonction DateDiff contient 5 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

Date1, Date2 : Deux dates que vous souhaitez utiliser dans le calcul.

Premier jour de la semaine: Constante qui spécifie le premier jour de la semaine. Ceci est facultatif. Si non spécifié, le dimanche est supposé.

Constant Valeur La description
vbUtiliserSystème 0 Utilisez le paramètre API NLS.
vbdimanche 1 Dimanche (par défaut)
vblundi 2 Lundi
vbmardi 3 Mardi
vbmercredi 4 Mercredi
vbJeudi 5 jeudi
vbvendredi 6 vendredi
vbsamedi 7 samedi

PremièreSemaineD'Année : Constante qui spécifie la première semaine de l'année. Ceci est facultatif. S'il n'est pas spécifié, la première semaine est supposée être la semaine du 1er janvier.

Constant Valeur La description
vbUtiliserSystème 0 Utilisez le paramètre API NLS.
vbPremierJan1 1 Commencez par la semaine du 1er janvier (par défaut).
vbFirstFourDays 2 Commencez par la première semaine qui compte au moins quatre jours dans la nouvelle année.
vbPremièreSemaine Complète 3 Commencez par la première semaine complète de l'année.

Programmation VBA | Le générateur de code fonctionne pour vous !

Exemples de fonction Excel VBA DateDiff

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

Chacune de ces fonctions DateDiff produit le même résultat :

123456789 Sous DateDiff_ReferenceDates()MsgBox DateDiff("m", #4/1/2019#, #8/1//2021#)MsgBox DateDiff("m", DateSerial(2019, 4, 1), DateSerial (2021, 8, 1))MsgBox DateDiff("m", DateValue("1er avril 2022"), DateValue("1er août 2022"))Fin du sous-marin

Ou vous pouvez référencer des cellules contenant des dates :

12345 Sous DateDiff_ReferenceDates_Cell()MsgBox DateDiff("m", Plage("C2").Valeur, Plage("C3").Valeur)Fin du sous-marin

Ou créez et référencez des variables de date :

123456789 Sous DateDiff_Variable()Dim dt1 comme date, dt2 comme datedt1 = #4/1/2019#dt2 = #8/1//2021#MsgBox DateDiff("m", dt1, dt2)Fin du sous-marin

Fatigué de rechercher des exemples de code VBA ? Essayez AutoMacro !

Utilisation de différentes unités d'intervalle

Quartiers

123 Sous DateDiff_Quarter()MsgBox "le nombre de trimestres : " & DateDiff("q", #1/1/2019#, #1/1/2021#)Fin du sous-marin

Mois

123 Sous DateDiff_Mois()MsgBox "le nombre de mois : " & DateDiff("m", #1/1/2019#, #1/1/2021#)Fin du sous-marin

Jours

123 Sous-DateDiff_Day()MsgBox "le nombre de jours : " & DateDiff("d", #1/1/2019#, #1/1/2021#)Fin du sous-marin

Semaines

123 Sous DateDiff_Semaine()MsgBox "le nombre de semaines : " & DateDiff("w", #1/1/2019#, #1/1/2021#)Fin du sous-marin

Les heures

123456789101112 Sous DateDiff_Hour()Dim dt1 comme dateDim dt2 comme dateDim nDiff aussi longdt1 = #8/14/2019 9:30:00 AM#dt2 = #8/14/2019 13:00 PM#nDiff = DateDiff("h", dt1, dt2)MsgBox "heures : " & nDiffFin du sous-marin

Minutes

123 Sous DateDiff_Minute()MsgBox "mins: " & DateDiff("n", #8/14/2019 09:30:00 AM#, #8/14/2019 09:35:00 AM#)Fin du sous-marin

Secondes

123 Sous-DateDiff_Second()MsgBox "secs: " & DateDiff("s", #8/14/2019 09:30:10 AM#, #8/14/2019 09:30:22 AM#)Fin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave