Fonction VBA DateDiff

La fonction DATEDIFF dans VBA est une fonction intégrée dans VBA qui est également classée sous la fonction de date et d'heure dans VBA, cette fonction est utilisée pour obtenir la différence entre deux dates, cette fonction prend trois arguments le premier argument est la partie de la différence que nous voulons qui peut être des jours ou des mois ou des secondes et deux dates et le résultat est un entier.

Fonction DATEDIFF dans VBA

La fonction DATEDIFF dans VBA calcule la différence entre deux dates en jours, mois, trimestres et années.

Dans Excel, trouver la différence entre deux dates a plusieurs façons. Vous n'avez pas besoin d'une formule spéciale pour calculer la différence entre deux dates.

Pour un exemple, regardez l'image ci-dessous.

Si nous voulons calculer la différence entre ces deux dates, nous pouvons simplement soustraire la date 1 de la date 2.

Cela nous a donné la différence entre deux dates en un certain nombre de jours. C'est ce qui pose problème avec cette formule générique. Si nous avons besoin de la différence en mois, en années, en trimestres, etc., cela ne peut pas donner.

Dans cet article, nous allons vous montrer comment utiliser cette fonction DateDiff dans VBA.

Qu'est-ce que la fonction DATEDIFF dans Excel VBA?

DATEDIFF en VBA signifie «Différence de date entre deux dates».

Cette fonction peut nous donner le numéro de l'intervalle de temps entre deux dates. Lorsque nous voulons trouver la différence entre deux dates, nous pouvons la trouver en jours, semaines, mois, trimestres, etc.

Pour comprendre la fonction, regardez la syntaxe ci-dessous de la fonction.

Intervalle: ce n'est rien mais de quelle manière vous voulez calculer la différence de date. Que ce soit en jours, mois, semaines, trimestres, etc… Voici la liste des mêmes.

Date 1: Quelle est la première date à laquelle vous souhaitez trouver la différence.

Date 2: Quelle est la deuxième date à laquelle vous voulez trouver la différence par rapport à la Date 1. Date 1: Quelle est la première date à laquelle vous voulez trouver la différence.

Ici, la formule est Date 2 - Date 1.

[Premier jour de la semaine]: Quel est le premier jour de la semaine? Nous pouvons suivre des arguments.

[Première semaine de l'année]: Quelle est la première semaine de l'année. Nous pouvons entrer les arguments suivants.

Exemples de fonction DATEDIFF dans Excel VBA

Voici les exemples d'Excel VBA DateDiff.

Vous pouvez télécharger ce modèle de fonction VBA DateDiff ici - Modèle de fonction VBA DateDiff

Exemple # 1 - Pour trouver des différences en jours

Supposons que vous ayez deux dates «15-01-2018» et «15-01-2019». Trouvons toutes sortes de différences pour ces deux dates.

Étape 1: Créez d'abord un nom de macro.

Code:

 Sub DateDiff_Example1 () End Sub 

Étape 2: définissez deux variables comme date.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date End Sub 

Étape 3: Maintenant, pour la variable Date1, attribuez «15-01-2018» et pour la variable Date2, attribuez «15-01-2019».

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Étape 4: Maintenant, pour stocker les résultats, définissez une autre variable comme Long.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Résultat As Long Date1 = "15-01-2018" Date2 = "15-01-2019" End Sub 

Étape 5: Attribuez maintenant la valeur de cette variable via la fonction DATEDIFF dans VBA

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff (End Sub 

Étape 6: Le premier argument est le type de différence dont nous avons besoin entre ces deux dates. Disons que nous devons trouver le nombre de jours, alors fournissez l'argument comme «D».

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", End Sub 

Étape 7: Quelle est la première date pour trouver la différence. Notre première date est «15-01-2018» que nous avons déjà affectée à la variable «Date1». Fournissez donc le nom de la variable ici.

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, End Sub 

Étape 8: Quelle est la deuxième date pour trouver la différence. La deuxième date est «15-01-2019» qui contient la valeur via la variable «Date2».

Code:

 Sub DateDiff_Example1 () Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff ("D", Date1, Date2) End Sub 

Step 9: Ignore the last two parameters. Now assign the value of variable “Result” through the VBA message box.

Code:

 Sub DateDiff_Example1() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("D", Date1, Date2) MsgBox Result End Sub 

Now run the code using F5 key or manually, we will get the difference between these two dates in a number of days.

So, from “15-01-2018” to 15-01-2019” the exact difference is 1 year, so we got 365 days as the result.

Like this, we can find the difference between two dates in time intervals.

Example #2 – To Find Difference in Months

Code:

 Sub DateDiff_Example2() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("M", Date1, Date2) MsgBox Result End Sub 

 

Run this code Using the F5 key or you can run manually to show the result as given below.

Example #3 – To Find Difference in Years

Code:

 Sub DateDiff_Example3() Dim Date1 As Date Dim Date2 As Date Dim Result As Long Date1 = "15-01-2018" Date2 = "15-01-2019" Result = DateDiff("YYYY", Date1, Date2) MsgBox Result End Sub 

Run this code using the F5 key or manually to see the result.

Assignment as a Practice

I hope you have understood the function of VBA DATEDIFF. Take look at the below homework for you. Find the difference between the below dates in “Months”.

If you have not found the way below is the readymade code for you.

Code:

 Sub Assignment() Dim k As Long For k = 2 To 8 Cells(k, 3).Value = DateDiff("M", Cells(k, 1), Cells(k, 2)) Next k End Sub 

You can run this code manually or press the F5 key to see the result.