Fonction VBA DatePart - Comment retourner la partie spécifiée de la date?

Table des matières

Fonction Excel VBA DatePart

DatePart dans VBA est utilisé pour identifier la partie de la date pour la date donnée fournie en argument, la partie de la date peut être soit des jours, soit des mois, soit une année ou même les heures, minutes et secondes, la syntaxe de cette fonction se clarifie beaucoup et c'est comme suit, Datepart (Intervalle, Date comme argument).

Syntaxe

La syntaxe de la fonction DatePart est donnée ci-dessous:

  • Intervalle: les données à transmettre dans un argument d'intervalle sont de type chaîne, ce qui signifie que cet argument peut contenir toutes les valeurs valides. L'intervalle peut être d'année, de mois, de trimestre, de jour, de semaine, d'heure, de minute, de seconde.
  • Date: valeur de date à évaluer.
  • firstdayofweek: C'est un paramètre facultatif. Ceci décrit le premier jour de la semaine. Cela peut même être ignoré. Si ce paramètre est ignoré, cela prend automatiquement le dimanche comme premier jour de la semaine. Si vous souhaitez changer cela, alors ce paramètre peut être utilisé. Cet argument peut consister en vbUseSystem 0.

Utiliser le paramètre de l'API NLS

vbSunday (par défaut), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: De même, le paramètre supérieur, c'est également un paramètre facultatif. Ceci décrit la première semaine de l'année. Ce paramètre peut également être ignoré. Si ce paramètre est ignoré, il suppose que le 1er janvier est la première semaine de l'année. Si vous souhaitez changer cela, alors ce paramètre peut être utilisé.
    Cet argument peut être composé des valeurs suivantes.
    vbUseSystem, vbFirstJan1, vbFirstFourDays, vbFirstFullWeek.

Après avoir donné tous les paramètres, datepart () retournera la valeur numérique telle que la date entière ou l'année ou le mois ou le trimestre, etc. Par conséquent, le type de retour de cette fonction sera une valeur numérique.

Comment utiliser la fonction DatePart dans VBA?

Exemple 1

Le premier exemple consiste à afficher la date complète et le trimestre de ce mois également.

Pour ce faire, nous devons écrire du code dans Visual Basic pour cet onglet Goto Developer, puis cliquer sur Visual Basic, puis une fenêtre s'ouvrira.

Dans cette fenêtre, écrivez le code comme indiqué ci-dessous.

Code:

Sub date_Datepart () Dim mydate As Variant mydate = # 12/25/2019 # MsgBox mydate MsgBox DatePart ("q", mydate) 'affiche le trimestre End Sub

Dans cet exemple, nous avons utilisé la fonction datepart pour afficher la date et une partie de la date qui est un quart de la date. Cela affiche quel trimestre de l'année est la date d'entrée.

Si nous débogageons le code, la date sera affichée comme une date complète pour la première fois lorsque le code exécutera «Msgbox mydate» car la date aléatoire est affectée à la variable «mydate».

Ensuite, nous affichons le trimestre de l'année auquel cette date se situe.

Lorsque vous exécutez le code manuellement ou à l'aide de la touche de raccourci F5, la date s'affiche comme indiqué après avoir cliqué sur ok. Ensuite, le quart de la date serait affiché. Cela peut être montré dans la capture d'écran ci-dessous.

De même, Trimestre, seule la date ou le mois ou l'année peuvent également être affichés.

Exemple # 2

Dans cet exemple, je vais entrer la date manuellement au moment de l'exécution.

Code:

Sub date1_datePart () Dim TodayDate As Date 'Déclarer les variables. Dim Msg TodayDate = InputBox ("Entrez une date:") Msg = "Quarter:" & DatePart ("q", TodayDate) MsgBox Msg End Sub

Ici, dans cet exemple, nous essayons d'obtenir la date manuellement au moment de l'exécution. Le code «TodayDate = InputBox (« Enter a date: »)» cette ligne indique que la date peut être saisie manuellement,

Après avoir entré la date manuellement, il affiche le trimestre de la date dans une boîte de message. Cela peut être montré dans la capture d'écran ci-dessous.

Le mois de juin étant le 2ème trimestre, cela affiche le 2ème trimestre, comme illustré dans la capture d'écran ci-dessus.

Exemple # 3

Dans cet exemple, toutes les valeurs seront remplies dans les cellules.

Code:

Private Sub Workbook_Open () Dim DummyDate As Date DummyDate = ActiveSheet.Cells (2, 2) ActiveSheet.Cells (2, 2) .Value = Day (DummyDate) ActiveSheet.Cells (3, 2) .Value = Hour (DummyDate) ActiveSheet .Cells (4, 2) .Value = Minute (DummyDate) ActiveSheet.Cells (5, 2) .Value = Month (DummyDate) ActiveSheet.Cells (6, 2) .Value = Weekday (DummyDate) End Sub

The dates are filled in the cells in the excel sheet, for that the code is written as Active Sheet.cells. By this code, the date which is present maybe a year, month, or date can be inserted into the given cells.

For example, in the above screenshot,

The day is to be inserted in the cells ( 2, 2) of the excel sheet. Hence the code is written as “ ActiveSheet.Cells(2, 2).Value = Day(DummyDate) “ .

Run the code using the F5 key or manually, and the result would be as shown below.

It is, by default taking date today, and it is displaying as 30 in (2,6) cell.

Likewise, for all the other data also it can be filled.

Usage of DatePart Function

  • DatePart function can be used to display the part of the date as the name indicates, i.e., if only day or month or year of the date needs to be displayed, then this function can be used.
  • Cette fonction sépare également la date, le mois et une année d'une date particulière.
  • En utilisant cette fonction, la date n'est pas seulement séparée. Nous pouvons également obtenir le quart, le jour, l'heure, la minute et une seconde.

Choses dont il faut se rappeler

  • Cette fonction ne peut être utilisée qu'en tant que fonction VBA. Dans Excel normal, cela ne peut pas être utilisé.
  • Les dates qui sont données comme valeur dans cette fonction peuvent être données dans n'importe quel format tel que le format mm-jj-aaaa ou le format JJ-MM-AAAA, etc.
  • Cette fonction séparera toutes les valeurs séparément, telles que la date, le mois, l'année ou l'heure également une heure, une minute, des secondes également.
  • Ceci est organisé sous Fonctions de date et d'heure dans VBA de Microsoft Excel.

Articles intéressants...