VBA - Fonction DateDiff

Une fonction, qui renvoie la différence entre deux intervalles de temps spécifiés.

Syntaxe

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

Description des paramètres

  • Interval- Un paramètre obligatoire. Il peut prendre les valeurs suivantes.

    • j - jour de l'année

    • m - mois de l'année

    • y - année de l'année

    • aaaa - année

    • w - jour de la semaine

    • ww - semaine

    • q - quart

    • h - heure

    • m - minute

    • s - seconde

  • Date1 et Date2 - Paramètres obligatoires.

  • Firstdayofweek- Un paramètre facultatif. Spécifie le premier jour de la semaine. Il peut prendre les valeurs suivantes.

    • 0 = vbUseSystemDayOfWeek - Utiliser le paramètre d'API National Language Support (NLS)

    • 1 = vbSunday - Sunday

    • 2 = vbLundi - Lundi

    • 3 = vbMardi - Mardi

    • 4 = vbMercredi - Mercredi

    • 5 = vbJeudi - Jeudi

    • 6 = vbVendredi - Vendredi

    • 7 = vbSamedi - Samedi

  • Firstdayofyear- Un paramètre facultatif. Spécifie le premier jour de l'année. Il peut prendre les valeurs suivantes.

    • 0 = vbUseSystem - Utiliser le paramètre API NLS (National Language Support)

    • 1 = vbFirstJan1 - Commencez par la semaine du 1er janvier (par défaut)

    • 2 = vbFirstFourDays - Commencez par la semaine qui compte au moins quatre jours dans la nouvelle année

    • 3 = vbFirstFullWeek - Commencez par la première semaine complète de la nouvelle année

Exemple

Ajoutez un bouton et ajoutez la fonction suivante.

Private Sub Constant_demo_Click()
   Dim fromDate as Variant
   fromDate = "01-Jan-09 00:00:00"
   
   Dim toDate as Variant
   toDate = "01-Jan-10 23:59:00"
   
   msgbox("Line 1 : " &DateDiff("yyyy",fromDate,toDate))
   msgbox("Line 2 : " &DateDiff("q",fromDate,toDate))
   msgbox("Line 3 : " &DateDiff("m",fromDate,toDate))
   msgbox("Line 4 : " &DateDiff("y",fromDate,toDate))
   msgbox("Line 5 : " &DateDiff("d",fromDate,toDate))
   msgbox("Line 6 : " &DateDiff("w",fromDate,toDate))
   msgbox("Line 7 : " &DateDiff("ww",fromDate,toDate))
   msgbox("Line 8 : " &DateDiff("h",fromDate,toDate))
   msgbox("Line 9 : " &DateDiff("n",fromDate,toDate))
   msgbox("Line 10 : "&DateDiff("s",fromDate,toDate))
End Sub

Lorsque vous exécutez la fonction ci-dessus, elle produit la sortie suivante.

Line 1 : 1
Line 2 : 4
Line 3 : 12
Line 4 : 365
Line 5 : 365
Line 6 : 52
Line 7 : 52
Line 8 : 8783
Line 9 : 527039
Line 10 : 31622340