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 :

example-vba-datepart-function
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 ».

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *