Comment utiliser la fonction VBA DateAdd dans Excel ?

  • Partage Ça
Hugh West

Le site Fonction VBA DateAdd se trouve dans la catégorie date et heure de l'outil Excel Fonctions VBA En utilisant cette fonction, nous pouvons ajouter ou soustraire des années, des mois, des jours, des trimestres, et même différents intervalles de temps comme des heures, des minutes, des secondes à partir d'une date donnée. Le traitement de la date et de l'heure dans les calculs quotidiens pour générer des rapports ou faire des comparaisons est un scénario courant. Dans Excel, l'utilisation des fonctions VBA de date et d'heure comme la fonction DateAdd permet de faire des calculs complexes ou qui prennent du temps.plus efficace et plus rapide.

Télécharger le cahier d'exercices

Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.

VBA Fonction DateAdd.xlsm

Introduction à la fonction DateAdd d'Excel VBA

Résultat :

une date à laquelle un intervalle de temps spécifique est ajouté ou soustrait

Syntaxe :

DateAdd (intervalle, nombre, date)

Arguments :

Arguments Obligatoire/optionnel Description
intervalle Requis A chaîne de caractères expression.

L'intervalle de temps dans les différents paramètres que nous voulons ajouter numéro Requis A numérique expression .

Le site numéro de intervalles à ajouter ou à soustraire

Peut être positif - pour futur dates

Peut être négatif - pour passé dates date Requis A date expression

Le site date à laquelle le intervalles sont ajouté

Paramètres :

Le site Fonction DateAdd a ces les paramètres d'intervalle :

Réglage de Description
yyyy Année
q Trimestre
m Mois
y Année du jour
d Jour
w En semaine
ww Semaine
h Heure
n Minute
s Deuxièmement

Exemples de la fonction DateAdd d'Excel VBA

Expressions de la formule de la fonction DateAdd d'Excel

Il y a différentes façons de mettre le date argument dans le Fonction DateAdd. Ils donnent tous le même résultat.

Mettez ce qui suit code dans le Éditeur Visual Basic :

(Comment exécuter du code dans l'éditeur Visual Basic)

 Sub add_year() Range("D3") = DateAdd("yyyy", 2, #1/1/2022#) Range("D4") = DateAdd("yyyy", 2, DateSerial(2022, 1, 1)) Range("D5") = DateAdd("yyyy", 2, DateValue("Jan 1, 2022")) Range("D6") = DateAdd("yyyy", 2, Range("B6") End Sub 

Explication :

DateAdd("yyyy",2, l'une des méthodes suivantes)

Pour mettre l'argument de la date, nous pouvons utiliser différentes méthodes :

  • #1/1/2011#
  • DateSerial( année , mois, jour)
  • DateValue( date )
  • Gamme ("cell") - Date stockée dans une cellule
  • Stockage de la date dans une variable

Dans les cellules D3, D4, D5, D6, D7 nous mettons les méthodes ci-dessus en tant que date argument de la DateAdd de manière séquentielle et a obtenu le même résultat.

Nous avons ajouté 2 plus années à 1/1/2022 qui a donné lieu à 1/1/2024.

Ici,

yyyy représente l'année comme intervalle

2 représente le nombre d'intervalles comme numéro .

Aide : Comment exécuter du code dans l'éditeur Visual Basic

Suivez les étapes :

  • De la Ruban Excel Allez sur Onglet Développeur et sélectionnez Visual Basic Onglet.

  • Dans la nouvelle fenêtre, cliquez sur le bouton Insérer et choisissez Module.

  • Écrivez votre code dans l'éditeur et appuyez sur F5 à courir.

Ajout de différents paramètres d'intervalle à l'aide de la fonction DateAdd dans Excel

1. Ajouter une année

Code :

 Sub DateAdd_Years() Range("F5") = DateAdd("yyyy", 2, Range("D5")) End Sub 

Résultat : 2 ans ajouté à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 1/1/2024 (mm/jj/aaaa).

Lire la suite : Comment utiliser la fonction Année dans Excel VBA

2. Ajouter un trimestre

Code :

 Sub DateAdd_Quarters() Range ("F5") = DateAdd("q", 2, Range("D5")) End Sub 

Résultat : 2 trimestres = 6 mois ajouté à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 7/1/2022 (mm/jj/aaaa).

3. Ajouter un mois

Code :

 Sub DateAdd_Months() Range("F5") = DateAdd("m", 2, Range("D5")) End Sub 

Résultat : 2 mois ajouté à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 3/1/2022 (mm/jj/aaaa).

Lire la suite : Comment utiliser la fonction MONTH d'Excel VBA

4. Ajouter le jour de l'année

Code :

 Sub DateAdd_DayOfYear() Range("F5") = DateAdd("y", 2, Range("D5")) End Sub 

Résultat : 2 jours de l'année ajoutés à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 1/3/2022 (mm/jj/aaaa).

Lire la suite : Comment utiliser la fonction Jour dans Excel VBA

5. Ajouter un jour

Code :

 Sub DateAdd_Day() Range("F5") = DateAdd("d", 2, Range("D5")) End Sub 

Résultat : 2 jours ajoutés à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 1/3/2022 (mm/jj/aaaa).

Lectures similaires

  • Excel VBA pour trouver le numéro de semaine (6 exemples rapides)
  • Comment utiliser la fonction VBA DatePart dans Excel (7 exemples)
  • Utiliser la fonction VBA DateSerial dans Excel (5 applications faciles)
  • Comment convertir une date à partir d'une chaîne de caractères en utilisant VBA (7 façons)

6. Ajouter un jour de la semaine

Code :

 Sub DateAdd_WeekDay() Range("F5") = DateAdd("w", 10, Range("D5")) End Sub 

Résultat : 10 WeekDays ajoutés à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 1/11/2022 (mm/jj/aaaa).

7. Ajouter une semaine

Code :

 Sub DateAdd_Weeks() Range("F5") = DateAdd("ww", 2, Range("D5")) End Sub 

Résultat : 2 semaines = 14 jours ajoutés à 1/1/2022 (mm/jj/aaaa) et a donné lieu à 1/15/2022 (mm/jj/aaaa).

Lire la suite : Comment obtenir le jour de la semaine en utilisant VBA

8. Ajouter une heure

Code :

 Sub DateAdd_Hours() Range("F5") = DateAdd("h", 14, Range("D5")) End Sub 

Résultat : 14 heures ajoutées à 1/1/2022 12:00 AM (mm/dd/yyyy : hh/mm) et a donné lieu à 1/1/2022 2:00 PM (mm/jj/aaaa : hh/mm).

9. Ajouter une minute

Code :

 Sub DateAdd_Minutes() Range("F5") = DateAdd("n", 90, Range("D5")) End Sub 

Résultat : 90 minutes = 1,30 heures ajoutées. à 1/1/2022 12:00 AM (mm/jj/aaaa) et a donné lieu à 1/1/2022 1:30 AM (mm/jj/aaaa).

10. Ajouter un deuxième

Code :

 Sub DateAdd_Seconds() Range("F5") = DateAdd("s", 120, Range("D5")) End Sub 

Résultat : 120 secondes = 2 minutes ajoutées à 1/1/2022 12:00 AM (mm/dd/yyyy : hh/mm) et a donné lieu à 1/1/2022 12:02 AM (mm/jj/aaaa : hh/mm).

Utilisation de la fonction DateAdd dans Excel pour soustraire des paramètres d'intervalle différents

De même, nous pouvons soustraire les années, les mois, les jours, les heures, les minutes, etc. d'une date à l'aide d'une fonction signe moins sur avant de la argument numérique Par exemple :

Code :

 Sub DateAdd_Subtract_Years() Range("F5") = DateAdd("y", -2, Range("D5")) End Sub 

Résultat : 2 ans soustrait de 1/1/2022 (mm/jj/aaaa) et a donné lieu à 1/1/2020 (mm/jj/aaaa).

Les choses à retenir

  • Lorsque nous utilisons 'w' à ajouter jours de la semaine cela s'ajoute tous les jours de la semaine y compris le samedi et le dimanche, et non les jours ouvrables uniquement (on pourrait s'y attendre).
  • La fonction DateAdd ne finit pas par afficher un date non valide Par exemple, si nous ajoutons un mois au 31 janvier 2022, le résultat sera le 28 février 2022, et non le 31 février 2022 (il n'existe pas).
  • Si nous soustrayons plus de 122 ans à partir de maintenant un erreur se produirait parce que la date Excel commence de 1er janvier 1990.
  • La date de retour de la fonction DateAdd dépend de la date de retour de la fonction. Panneau de configuration Paramètres de la date.
  • Il faut que l'argument date de la fonction DateAdd soit conforme à l'argument Propriété du calendrier Si le calendrier est Grégorien l'entrée da l'argument devrait également être dans Grégorien De même, si le calendrier est en Hijri, l'argument date doit avoir le même format.

Conclusion

Nous savons maintenant comment utiliser la fonction VBA DateAdd dans Excel. Nous espérons que cela vous encouragera à utiliser cette fonctionnalité avec plus de confiance. Si vous avez des questions ou des suggestions, n'oubliez pas de les poser dans la boîte de commentaires ci-dessous.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.