Comment utiliser la fonction VBA DATEPART ?
La fonction VBA DATEPART est répertoriée dans la catégorie de date des fonctions VBA. Lorsque vous l’utilisez dans un code VBA, il peut renvoyer la valeur du jour à partir d’une date ou d’une valeur d’heure . En termes simples, vous pouvez obtenir des secondes, des minutes, des heures, des jours, des mois ou des années à partir d’une date ou d’une valeur temporelle.
Syntaxe
DatePart(intervalle, date, [firstdayofweek, [firstweekofyear]])
Arguments
- Interval : Une chaîne pour spécifier quelle partie de la date doit être renvoyée dans le résultat.
- Date : La date à partir de laquelle la partie date doit revenir.
- [FirstDayOfWeek] : Une chaîne pour définir le premier jour de la semaine [Ceci est un argument optionnel et si omis vbSunday par défaut].
- vbUseSystemDayOfWeek – Selon les paramètres système.
- vbdimanche – dimanche
- vblundi – lundi
- vbmardi – mardi
- vbmercredi – mercredi
- vbjeudi – jeudi
- vbvendredi – vendredi
- vbSamedi – Samedi
- [FirstWeekOfYear] : Une chaîne pour définir la première semaine de l’année [Ceci est un argument optionnel et si omis vbFirstJan1 par défaut].
- vbSystem – Selon les paramètres du système.
- vbFirstJan1 – La semaine au cours de laquelle le 1er jour de janvier se produit.
- vbFirstFourDays – La première semaine qui contient au moins quatre jours dans la nouvelle année.
- vbFirstFullWeek – La première semaine complète de la nouvelle année.
Exemple
Pour comprendre pratiquement comment utiliser la fonction VBA DATEPART, vous devez passer par l’exemple ci-dessous où nous avons écrit un code vba en l’utilisant :
Sub example_DATEPART()
Range("A2").Value = DatePart("d", Range("A1"))
Range("A3").Value = DatePart("h", Range("A1"))
Range("A4").Value = DatePart("m", Range("A1"))
Range("A5").Value = DatePart("n", Range("A1"))
Range("A6").Value = DatePart("q", Range("A1"))
Range("A7").Value = DatePart("s", Range("A1"))
Range("A8").Value = DatePart("w", Range("A1"))
Range("A9").Value = DatePart("ww", Range("A1"))
Range("A11").Value = DatePart("y", Range("A1"))
Range("A12").Value = DatePart("yyyy", Range("A1"))
End Sub
Dans le code ci-dessus, nous avons utilisé un intervalle différent dans DATEPART :
- « d » pour obtenir le jour et il est retourné 15.
- « h » pour obtenir les heures mais comme nous n’avons pas le temps dans la date, il a renvoyé 0 dans le résultat.
- « m » pour obtenir le mois et il a renvoyé 1.
- « n » pour obtenir les minutes mais comme nous n’avons pas le temps dans la date, il a renvoyé 0 dans le résultat.
- « q » pour obtenir le quart et il a renvoyé 1.
- « s » pour obtenir les secondes mais comme nous n’avons pas le temps dans la date, il a renvoyé 0 dans le résultat.
- « w » pour obtenir le jour de la semaine et il a renvoyé 3.
- « ww » pour obtenir la semaine de l’année et il est revenu 3.
- « y » pour obtenir le jour de l’année et il a renvoyé 15.
- « aaaa » pour obtenir l’année et il est revenu à 2019.
Remarques
- Si une date est fournie sans l’année, l’année en cours sera utilisée.
- Si la valeur spécifiée est une valeur autre qu’une date ou une date qui ne peut pas être reconnue comme une date, VBA renverra l’erreur d’exécution 13.
- La définition de l’argument « premierjourdelasemaine » ne fonctionne que lorsque l’« intervalle » est soit « w », soit « ww ».