Fonction DateDiff dans Excel VBA

La fonction VBA Datediff fournit la différence entre deux intervalles spécifiés. Ici, l'intervalle peut être spécifié en heures / mois / jours… etc. comme spécifié par l'utilisateur. Il s'agit d'une fonction intégrée dans Excel et classée comme la fonction « Date / Heure ». Il peut être utilisé comme une fonction « VBA » dans Excel.

Syntaxe :

Paramètre ou arguments utilisés dans la fonction DateDiff.

1. Intervalle:

  • C'est obligatoire.
  • Type: - Expression de type chaîne.
  • Il calcule la différence entre les deux dates.
Réglage (intervalle) Description / explication
"S" Secondes
"N" Minutes
"H" Heures
"ré" Journées
"W" Jour de la semaine
"M" Mois
"Ww" La semaine
"Y" Jour de l'année
"Q" Trimestre
"Aaaa" Année

2. Date1:

  • C'est obligatoire.
  • Type: - Date.
  • Il représente la date / heure de début pour le calcul de la date.

3. Date2:

  • C'est obligatoire.
  • Type: - Date.
  • Il représente la date / heure de fin pour le calcul de la date.

4. Premier jour de la semaine:

  • C'est facultatif.
  • Tapez: - Numérique ou Texte.
  • Il spécifie le jour utilisé comme premier jour de la semaine.
  • Si cet argument ou paramètre est omis, il suppose dimanche (VbSunday) comme premier jour de la semaine.

5. Première semaine de l'année

  • C'est facultatif.
  • Tapez: - Numérique ou Texte.
  • Il spécifie le jour utilisé comme première semaine de l'année.
  • Si cet argument ou paramètre est omis, il suppose que le 1er janvier (vbFirstJan1) est la première semaine de l'année.

Comment activer l'onglet du développeur dans Excel?

L'onglet développeur est obligatoire sur le ruban Excel pour démarrer et écrire la macro VBA. Voici les différentes étapes pour activer l'onglet développeurs dans Excel VBA:

Étape 1: Accédez à l'onglet du menu Fichier .

Étape 2: Dans le menu Fichier, cliquez sur Options situées au dernier de la liste des options disponibles sous le menu.

Étape 3: Cliquez sur Personnaliser le ruban pour accéder aux options de personnalisation du ruban.

Étape 4: Ici, dans les options de personnalisation, vous pouvez voir l'option Développeur . Cochez-le pour qu'il soit activé sur le ruban principal d'Excel et facilement accessible. Cliquez sur OK après avoir vérifié l'option Développeur.

Dès que vous appuyez sur OK, vous pouvez voir l'onglet Développeur actif dans le menu du ruban Excel avec un tas d'options différentes disponibles sous. Voir la capture d'écran ci-dessous.

Comment utiliser la fonction DateDiff dans Excel VBA?

Voici les différentes étapes pour utiliser la fonction DateDiff dans Excel VBA:

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

Exemple 1

Dans cet exemple, suivez les étapes ci-dessous pour utiliser la fonction DateDiff dans VBA:

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

Code:

 Sub bb () End Sub 

Étape 2: Deux variables sont définies comme date et leur sont attribuées une date.

Code:

 Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # End Sub 

Étape 3: Écrivez la syntaxe de la fonction Datediff en prenant l'argument requis et affectez-le via la boîte de message VBA.

Code:

 Sub bb () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Étape 4: Exécutez le code en appuyant sur la touche F5 ou en cliquant sur le bouton Lecture. Pour que le résultat soit affiché dans la boîte de message.

Exemple # 2

Dans l'exemple ci-dessous, la fonction dateiff calcule le nombre d'années entre les deux dates «09/06/2016» et «16/12/2020». Ici, les paramètres facultatifs ne sont pas pris en considération.

Code:

 Sub AA () 'Différence d'année MsgBox DateDiff ("yyyy", "09/06/2016", "16/12/2020") End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 3

Dans l'exemple ci-dessous, la fonction dateiff calcule le nombre de mois entre les deux dates ”09/06/2016” et “16/12/2020”. Ici, les paramètres facultatifs ne sont pas pris en considération.

Code:

 Sub AA1 () 'mois différence MsgBox DateDiff ("m", "09/06/2016", "16/12/2020") End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 4

Dans l'exemple ci-dessous, la fonction dateiff calcule le nombre de semaines entre les deux dates ”09/06/2016” et “16/12/2020”. Ici, les paramètres facultatifs ne sont pas pris en considération.

Code:

 Sub AA2 () 'semaines de différence MsgBox DateDiff ("ww", "09/06/2016", "16/12/2020") End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 5

Dans l'exemple ci-dessous, la fonction " dateiff " calcule le nombre de trimestres entre les deux dates "09/06/2016" et "16/12/2020". Ici, les paramètres facultatifs ne sont pas pris en considération.

Code:

 Sub AA3 () 'écart trimestriel MsgBox DateDiff ("q", "09/06/2016", "16/12/2020") End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 6

Dans l'exemple ci-dessous, la fonction " dateiff " calcule le nombre de jours entre les deux dates "09/06/2016" et "16/12/2020". Ici, les paramètres facultatifs ne sont pas pris en considération.

Code:

 Sub AA4 () 'jours de différence MsgBox DateDiff ("d", "09/06/2016", "16/12/2020") End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 7

Dans l'exemple ci-dessous, la fonction « daté » calcule le nombre d'heures entre les deux dates et l'heure «9h00 le 01/01/2010» et «11h00 le 19/04/2019».

Code:

 Sub bb1 () 'Calculer le nombre d'heures entre le 1/1/2010 9:00 et le 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("h", dt1, dt2) End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 8

Dans l'exemple ci-dessous, la fonction « daté » calcule le nombre de secondes entre les deux dates et l'heure «9h00 le 01/01/2010» et «11h00 le 19/04/2019».

Code:

 Sub bb2 () 'Calculer le nombre de secondes entre 1/1/2010 9:00 et 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("s", dt1, dt2) End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 9

Dans l'exemple ci-dessous, la fonction « daté » calcule le nombre de minutes entre les deux dates et l'heure «9h00 le 01/01/2010» et «11h00 le 19/04/2019».

Code:

 Sub bb3 () 'Calculer le nombre de minutes entre 1/1/2010 9:00 et 19/4/2019 11:00 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 9:00:00 AM # dt2 = # 4/19/2019 11:00:00 AM # MsgBox DateDiff ("n", dt1, dt2) End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 10

Si l'argument est spécifié comme «w» (semaines), la fonction «Datediff» renvoie le numéro de la semaine entière entre les deux dates. Les semaines partielles sont ignorées. Dans l'exemple, la fonction « DateDiff » calcule le nombre de semaines entières entre les dates 01/01/2010 et 19/4/2019.

Code:

 Sub bb4 () 'Calculer le nombre de semaines entre le 1/1/2010 et le 19/4/2010 Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2010 # MsgBox DateDiff ("w", dt1, dt2) End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 11

Si l'argument est spécifié comme «ww» (semaines calendaires), la fonction «Datediff» fournit le nombre de semaines entre le début de la semaine contenant Date1 et le début de la semaine contenant Date2.

Code:

 Sub bb5 () 'Calculer le nombre de semaines calendaires entre le 1/1/2010 et le 19/4/2019' Premier jour de la semaine = lundi Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/2010 # dt2 = # 4/19/2019 # MsgBox DateDiff ("ww", dt1, dt2, vbMonday) End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Exemple # 12

Dans l'exemple ci-dessous, la fonction "dateiff" est utilisée pour les dates "1/1/1990" et "1/1/1998"

Code:

 Sub cc () Dim dt1 As Date Dim dt2 As Date dt1 = # 1/1/1990 9:00:00 AM # dt2 = # 1/11/1998 11:00:00 AM # MsgBox ("ligne 1:" & DateDiff ("h", dt1, dt2)) MsgBox ("ligne 2:" & DateDiff ("s", dt1, dt2)) MsgBox ("ligne 3:" & DateDiff ("n", dt1, dt2)) MsgBox ("ligne 4:" & DateDiff ("d", dt1, dt2)) MsgBox ("ligne 5:" & DateDiff ("m", dt1, dt2)) MsgBox ("ligne 6:" & DateDiff ("q", dt1, dt2)) MsgBox ("ligne 7:" & DateDiff ("w", dt1, dt2)) MsgBox ("ligne 8:" & DateDiff ("ww", dt1, dt2)) MsgBox ("ligne 9: "& DateDiff (" y ", dt1, dt2)) MsgBox (" ligne 10: "& DateDiff (" yyyy ", dt1, dt2)) End Sub 

Pour exécuter le programme, appuyez sur l'onglet « F8 » ou « Exécuter ». Le résultat sera affiché dans la boîte de message.

Cliquez ensuite sur « Ok » pour obtenir le résultat suivant.

Conclusion

La fonction " DateDiff " permet ainsi de déterminer combien d'intervalles de temps spécifiés existent entre deux dates et heures spécifiées.

Articles recommandés

Ceci est un guide de VBA DateDiff. Nous discutons ici comment utiliser la fonction DateDiff dans Excel VBA avec des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -

  1. Tableau de déclaration VBA (exemples)
  2. Guide complet de VBA en cas d'erreur
  3. Déprotéger la méthode de feuille dans VBA
  4. Colonnes VBA | Modèle Excel
  5. VBA Environ

Catégorie: