Table des matières
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.xlsmIntroduction à 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.