Excel VBA Date et heure
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:
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:
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:
heure, minute, seconde
L’obtenir l’heure d’un temps, utilisez la fonction de l’heure.
Code:
MsgBox Hour(Now)
Résultat:
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:
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: