Apprenez à travailler avec les dates et heures dans Excel VBA.

Placez un lien: / ABV-create-a-macro-commande bouton # [bouton de commande] sur votre feuille de calcul et ajoutez les lignes de code ci-dessous. Pour exécuter les lignes de code, cliquez sur le bouton de commande sur la feuille.

Année, mois, jour d’une date

La macro suivante obtient l’année d’une date. Pour déclarer une date, utilisez l’instruction Dim. Pour initialiser une date, utilisez la fonction DateValue.

Code:

Dim exampleDate As Date



exampleDate = DateValue("Jan 19, 2020")

MsgBox Year(exampleDate)

Résultat:

Year of a Date in Excel VBA

Remarque: Utilisez mois et le jour pour obtenir le mois et le jour d’une date.

DateAdd

Pour ajouter un certain nombre de jours à une date, utilisez la fonction DateAdd. La fonction DateAdd a trois arguments. Remplissez « d » pour le premier argument à ajouter jours. Remplissez 3 pour le second argument pour ajouter 3 jours. Le troisième argument représente la date à laquelle le nombre de jours sera ajouté.

Code:

Dim firstDate As Date, secondDate As Date

firstDate = DateValue("Jan 19, 2020")

secondDate = DateAdd("d", 3, firstDate)

MsgBox secondDate

Résultat:

DateAdd

Remarque: le changement « d » à « m » pour ajouter un certain nombre de mois à une date. Placez votre curseur sur DateAdd dans l’éditeur Visual Basic, puis cliquez sur F1 pour l’aide sur les autres spécificateurs d’intervalle. Les dates sont au format US. Mois premier, deuxième jours. Ce type de format dépend de vos fenêtres de paramètres régionaux.

Date et heure

Pour obtenir la date et l’heure, utilisez la fonction maintenant.

Code:

MsgBox Now

Résultat:

Current Date and Time

heure, minute, seconde

L’obtenir l’heure d’un temps, utilisez la fonction de l’heure.

Code:

MsgBox Hour(Now)

Résultat:

Hour of the Current Time

Remarque: Utilisez minutes et les secondes pour obtenir la minute et la seconde d’un temps.

TimeValue

La fonction TimeValue convertit une chaîne en un temps le numéro de série. le numéro de série est un numéro du temps entre 0 et 1. Par exemple, à midi (mi-journée) est représenté par 0,5.

Code:

MsgBox TimeValue("9:20:01 am")

Résultat:

TimeValue

Maintenant, pour voir clairement que Excel gère les temps interne comme des nombres compris entre 0 et 1, ajoutez les lignes de code suivantes:

Dim y As Double

y = TimeValue("09:20:01")

MsgBox y

Résultat:

Time Serial Number