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