DatePart VBA

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 des heures, des minutes et des 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: Ceci est un paramètre facultatif. Cela 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, ce paramètre peut être utilisé. Cet argument peut consister en vbUseSystem 0.

Utiliser le paramètre d'API NLS

vbSunday (par défaut), vbMonday, vbTuesday, vbWednesday, vbThursday vbFriday, vbSaturday.
  • firstweekofyear: De même que le paramètre top, il s'agit également d'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, 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?

Vous pouvez télécharger ce modèle Excel VBA DatePart ici - Modèle Excel VBA DatePart

Exemple 1

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

Pour ce faire, nous devons écrire du code dans Visual Basic, pour cet onglet Goto Developer, puis cliquer sur Visual Basic et 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 date complète pour la première fois lorsque le code exécutera «Msgbox mydate» car la date aléatoire est assigné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 au 2ème trimestre, cela affiche le 2ème trimestre comme indiqué 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 

Les dates sont remplies dans les cellules de la feuille Excel, pour cela le code est écrit sous forme de feuille active.cellules. Par ce code, la date qui est présente peut être l'année mois ou la date peut être insérée dans les cellules données.

Par exemple, dans la capture d'écran ci-dessus,

Le jour doit être inséré dans les cellules (2, 2) de la feuille Excel. Par conséquent, le code est écrit comme «ActiveSheet.Cells (2, 2) .Value = Day (DummyDate)».

Exécutez le code à l'aide de la touche F5 ou manuellement et le résultat serait comme indiqué ci-dessous.

Il prend par défaut la date d'aujourd'hui et s'affiche sous la forme d'une cellule de 30 po (2,6).

De même pour toutes les autres données, il peut également être rempli.

Utilisation de la fonction DatePart

  • La fonction DatePart peut être utilisée pour afficher la partie de la date comme son nom l'indique, c'est-à-dire que si seul le jour ou le mois ou l'année de la date doit être affiché, cette fonction peut être utilisée.
  • 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 à retenir

  • 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, une seconde également.
  • Ceci est organisé sous Fonctions de date et d'heure dans VBA de Microsoft Excel.