Dans ce tutoriel, nous allons passer en revue les différentes fonctions de date VBA intégrées.
Fonction de date VBA
Vous pouvez utiliser la fonction Date pour renvoyer la date actuelle.
La syntaxe de la fonction Date est Date(). Il n'a pas d'arguments.
Le code suivant vous montre comment utiliser la fonction Date :
12345678 | Sous utilisantTheDateFunction()Diminuez la date en tant que datelaDate = Date()Debug.Print theDateFin du sous-marin |
Le résultat est:
Fonction VBA maintenant
Vous pouvez utiliser la fonction Now pour renvoyer la date et l'heure actuelles.
La syntaxe de la fonction Now est Now(). Il n'a pas d'arguments.
Le code suivant vous montre comment utiliser la fonction Now :
12345678 | Sub UsingTheNowFunction()Estompez la date en tant que datelaDate = Maintenant()Debug.Print theDateFin du sous-marin |
Le résultat est:
Fonction de temps VBA
Vous pouvez utiliser la fonction Time pour renvoyer l'heure actuelle.
La syntaxe de la fonction Time est Time(). Il n'a pas d'arguments.
Le code suivant vous montre comment utiliser la fonction Time :
12345678 | Sous utilisantTheTimeFunction()Diminuer l'heure comme datetheTime = Time()Debug.Print theTimeFin du sous-marin |
Le résultat est:
Fonction d'ajout de date VBA
Vous pouvez utiliser la fonction DateAdd pour ajouter un intervalle de date/heure à une date ou une heure, et la fonction renverra la date/heure résultante.
La syntaxe de la fonction DateAdd est :
DateAjouter(Intervalle, Nombre, Date) où :
- Interval - Une chaîne qui spécifie le type d'intervalle à utiliser. L'intervalle peut être l'une des valeurs suivantes :
"d" - jour
"ww" - semaine
"w" - jour de la semaine
"m" - mois
"q" - quart
"aaaa" - année
"y" - jour de l'année
"h" - heure
"n" - minute
"s" - deuxième
- Nombre - Le nombre d'intervalles que vous souhaitez ajouter à la date/heure d'origine.
- Date - La date/heure d'origine.
Remarque : lorsque vous utilisez des dates dans votre code, vous devez les entourer de # ou de guillemets.
Le code suivant montre comment utiliser la fonction DateAdd :
123456789 | Sub UsingTheDateAddFunction()Diminuer plus tardDate As Dateplus tardDate = DateAjouter("m", 10, "11/12/2019")Debug.Print laterDateFin du sous-marin |
Le résultat est:
Fonction VBA DateDiff
Vous pouvez utiliser la fonction DateDiff pour obtenir la différence entre deux dates, en fonction d'un intervalle de temps spécifié.
La syntaxe de la fonction DateDiff est :
DateDiff(Interval, Date1, Date2, [Firstdayofweek], [Firstweekofyear]) où :
- Interval - Une chaîne qui spécifie le type d'intervalle à utiliser. L'intervalle peut être l'une des valeurs suivantes :
"d" - jour
"ww" - semaine
"w" - jour de la semaine
"m" - mois
"q" - quart
"aaaa" - année
"y" - jour de l'année
"h" - heure
"n" - minute
"s" - deuxième
- Date1 - Une valeur de date représentant la date antérieure.
- Date2 - Une valeur de date représentant la date ultérieure.
- Premier jour de la semaine (Optionnel) - Une constante qui spécifie le jour de la semaine que la fonction doit utiliser comme premier jour de la semaine. Si vide, le dimanche est utilisé comme premier jour de la semaine. Firstdayofweek peut être l'une des valeurs suivantes :
-vbSunday - utilise le dimanche comme premier jour de la semaine.
-vbMonday - utilise le lundi comme premier jour de la semaine.
-vbTuesday - utilise mardi comme premier jour de la semaine.
-vbWednesday - utilise mercredi comme premier jour de la semaine.
-vbThursday - utilise jeudi comme premier jour de la semaine.
-vbFriday - utilise vendredi comme premier jour de la semaine.
-vbSaturday - utilise samedi comme premier jour de la semaine.
-vbUseSystemDayOfTheWeek - utilise le premier jour de la semaine spécifié par les paramètres de votre système.
- Premièresemainede l'année (Optionnel) - Une constante qui spécifie la première semaine de l'année. Si vide, la semaine du 1er janvier est utilisée comme première semaine de l'année. Firstweekofyear peut être l'une des valeurs suivantes :
-vbFirstJan1 - utilise la semaine contenant le 1er janvier.
-vbFirstFourDays - utilise la première semaine qui contient au moins quatre jours de la nouvelle année.
-vbFirstFullWeek - utilise la première semaine complète de l'année.
-vbSystem - utilise la première semaine de l'année comme spécifié par vos paramètres système.
Le code suivant vous montre comment utiliser la fonction DateDiff :
123456789 | Sub UsingTheDateDiffFunction()Estompez la différence entre deux dates aussi longtempslaDifférenceEntreDeuxDates = DateDiff("q", "11/11/2010", "10/12/2012")Debug.Print theDifferenceBetweenTwoDatesFin du sous-marin |
Le résultat est:
Fonction DatePart VBA
Vous pouvez utiliser la fonction DatePart afin de renvoyer une partie (jour, semaine, trimestre, mois, etc.) d'une date donnée.
La syntaxe de la fonction DatePart est :
DatePart(Interval, Date,[Firstdayofweek], [Firstweekofyear]) où :
- Intervalle - Une chaîne qui spécifie la partie de la date à renvoyer. L'intervalle peut être l'une des valeurs suivantes :
"d" - jour
"ww" - semaine
"w" - jour de la semaine
"m" - mois
"q" - quart
"aaaa" - année
"y" - jour de l'année
"h" - heure
"n" - minute
"s" - deuxième
- Date - La date à laquelle vous souhaitez que la fonction renvoie une partie.
- Premier jour de la semaine (Optionnel) - Une constante qui spécifie le jour de la semaine que la fonction doit utiliser comme premier jour de la semaine. Si vide, le dimanche est utilisé comme premier jour de la semaine. Firstdayofweek peut être l'une des valeurs suivantes :
-vbSunday - utilise le dimanche comme premier jour de la semaine.
-vbMonday - utilise le lundi comme premier jour de la semaine.
-vbTuesday - utilise mardi comme premier jour de la semaine.
-vbWednesday - utilise mercredi comme premier jour de la semaine.
-vbThursday - utilise jeudi comme premier jour de la semaine.
-vbFriday - utilise vendredi comme premier jour de la semaine.
-vbSaturday - utilise samedi comme premier jour de la semaine.
-vbUseSystemDayOfTheWeek - utilise le premier jour de la semaine spécifié par les paramètres de votre système.
- Premièresemainede l'année (Optionnel) - Une constante qui spécifie la première semaine de l'année. Si vide, la semaine du 1er janvier est utilisée comme première semaine de l'année. Firstweekofyear peut être l'une des valeurs suivantes :
-vbFirstJan1 - utilise la semaine contenant le 1er janvier.
-vbFirstFourDays - utilise la première semaine qui contient au moins quatre jours de la nouvelle année.
-vbFirstFullWeek - utilise la première semaine complète de l'année.
-vbSystem - utilise la première semaine de l'année comme spécifié par vos paramètres système.
Le code suivant vous montre comment utiliser la fonction DatePart :
123456789 | Sub UsingTheDatePartFunction()Dim thePartOfTheDate en tant qu'entierthePartOfTheDate = DatePart("aaaa", "12/12/2009")Debug.Print thePartOfTheDateFin du sous-marin |
Le résultat est:
Fonction VBA DateSerial
La fonction VBA DateSerial prend une année, un mois et un jour d'entrée et renvoie une date.
La syntaxe de la fonction DateSerial est :
DateSerial(Année, Mois, Jour) où :
- Année - Une valeur entière comprise entre 100 et 9999 qui représente l'année.
- Mois - Une valeur entière qui représente le mois.
- Jour - Une valeur entière qui représente le jour.
Le code suivant vous montre comment utiliser la fonction DateSerial :
123456789 | Sub UsingTheDateSerialFunction()Estompez la date en tant que datelaDate = DateSérie(2010, 11, 10)Debug.Print theDateFin du sous-marin |
Le résultat est:
Fonction VBA DateValue
La fonction DateValue renvoie une date lorsqu'elle reçoit une représentation sous forme de chaîne d'une date.
La syntaxe de la fonction DateValue est :
DateValue(Date) où :
- Date - Une chaîne représentant la date.
Le code suivant vous montre comment utiliser la fonction DateValue :
123456789 | Sub UsingTheDateValueFunction()Diminuez la date en tant que datelaDate = DateValue("29 octobre 2010")Debug.Print theDateFin du sous-marin |
Le résultat est:
Fonction de jour VBA
Vous pouvez utiliser la fonction Jour pour renvoyer le jour d'une date saisie.
La syntaxe de la fonction Day est :
Jour(Date_value) où :
- Date_value - La date dont vous souhaitez extraire le jour.
Le code suivant vous montre comment utiliser la fonction Day :
123456789 | Sous utilisantTheDayFunction()Dim theDay en tant qu'entierleJour = Jour("12/10/2010")Debug.Print theDayFin du sous-marin |
Le résultat est:
Fonction d'heure VBA
Vous pouvez utiliser la fonction Heure pour renvoyer l'heure d'une heure d'entrée.
La syntaxe de la fonction Hour est :
Heure(Heure) où :
- Heure - L'heure dont vous souhaitez extraire l'heure.
Le code suivant vous montre comment utiliser la fonction Heure :
123456789 | Sous utilisantTheHourFunction()Diminuer l'heure en tant qu'entierl'Heure = Heure("2:14:17 AM")Debug.Print theHourFin du sous-marin |
Le résultat est:
Fonction minute VBA
Vous pouvez utiliser la fonction Minute pour renvoyer la valeur des minutes d'une heure d'entrée.
La syntaxe de la fonction Minute est :
Minute(Heure) où :
- Heure - L'heure à partir de laquelle vous souhaitez extraire la valeur des minutes.
Le code suivant vous montre comment utiliser la fonction Minute :
123456789 | Sub UsingTheMinuteFunction()Dim theMinuteValue As IntegertheMinuteValue = Minute("2:14:17")Debug.Print theMinuteValueFin du sous-marin |
Le résultat est:
VBA deuxième fonction
Vous pouvez utiliser la deuxième fonction pour renvoyer la deuxième valeur d'un temps d'entrée.
La syntaxe de la deuxième fonction est :
Seconde (temps) où :
- Heure - L'heure à partir de laquelle vous souhaitez extraire la deuxième valeur.
Le code suivant vous montre comment utiliser la deuxième fonction :
123456789 | Sous utilisantTheSecondFunction()Dim theSecondValue As IntegertheSecondValue = Second("2:14:17")Debug.Print theSecondValueFin du sous-marin |
Le résultat est:
Fonction Mois VBA
Vous pouvez utiliser la fonction Month pour renvoyer le mois d'une date d'entrée.
La syntaxe de la fonction Month est :
Mois(Date_value) où :
- Date_value - La date dont vous souhaitez extraire le mois.
Le code suivant vous montre comment utiliser la fonction Month :
12345678 | Sub UsingTheMonthFunction()Diminuer le mois en tant qu'entierleMois = Mois("18/11/2010")Debug.Print theMonthFin du sous-marin |
Le résultat est:
Fonction VBA MonthName
Vous pouvez utiliser la fonction MonthName pour renvoyer le nom d'un mois à partir d'un numéro de mois fourni en entrée.
La syntaxe de la fonction MonthName est :
MonthName(Number_of_month, [Abréviation]) où :
- Number_of_month - Une valeur entière comprise entre 1 et 12.
- Abréger (Optionnel) - Spécifie si le nom du mois doit être abrégé. Si vide, la valeur par défaut False est utilisée.
12345678 | Sub UsingTheMonthNameFunction()Dim theMonthName As StringtheMonthName = MonthName(12, True)Debug.Print theMonthNameFin du sous-marin |
Le résultat est:
Fonction TimeSerial VBA
La fonction TimeSerial prend une heure, une minute et une seconde d'entrée et renvoie une heure.
La syntaxe de la fonction TimeSerial est :
TimeSerial (Heure, Minute, Seconde) où :
- Heure - Une valeur entière comprise entre 0 et 23 qui représente la valeur de l'heure.
- Minute - Une valeur entière comprise entre 0 et 59 qui représente la valeur de la minute.
- Deuxième - Une valeur entière comprise entre 0 et 59 qui représente la deuxième valeur.
Le code suivant vous montre comment utiliser la fonction TimeSerial :
12345678 | Sub UsingTheTimeSerialFunction()Diminuer l'heure comme datetheTime = TimeSerial (1, 10, 15)Debug.Print theTimeFin du sous-marin |
Le résultat est:
Fonction TimeValue VBA
La fonction TimeValue renvoie une heure à partir d'une représentation sous forme de chaîne d'une date ou d'une heure.
La syntaxe de la fonction TimeValue est :
TimeValue(Time) où :
- Heure - Une chaîne représentant l'heure.
Le code suivant vous montre comment utiliser la fonction TimeValue :
12345678 | Sub UsingTheTimeValueFunction()Diminuer l'heure comme datetheTime = TimeValue("22:10:17")Debug.Print theTimeFin du sous-marin |
Le résultat est:
Fonction de jour de la semaine VBA
Vous pouvez utiliser la fonction Weekday pour renvoyer un entier compris entre 1 et 7 représentant un jour de la semaine à partir d'une date d'entrée.
La syntaxe de la fonction Weekday est :
Jour de la semaine (Date, [Premier jour de la semaine]) où :
- Date - La date à partir de laquelle vous souhaitez extraire la valeur du jour de la semaine.
- Premier jour de la semaine (Optionnel) - Une constante qui spécifie le jour de la semaine que la fonction doit utiliser comme premier jour de la semaine. Si vide, le dimanche est utilisé comme premier jour de la semaine. Firstdayofweek peut être l'une des valeurs suivantes :
-vbSunday - utilise le dimanche comme premier jour de la semaine.
-vbMonday - utilise le lundi comme premier jour de la semaine.
-vbTuesday - utilise mardi comme premier jour de la semaine.
-vbWednesday - utilise mercredi comme premier jour de la semaine.
-vbThursday - utilise jeudi comme premier jour de la semaine.
-vbFriday - utilise vendredi comme premier jour de la semaine.
-vbSaturday - utilise samedi comme premier jour de la semaine.
-vbUseSystemDayOfTheWeek - utilise le premier jour de la semaine spécifié par les paramètres de votre système.
Le code suivant vous montre comment utiliser la fonction Weekday :
1234567 | Sub UsingTheWeekdayFunction()Dim theWeekDay As IntegertheWeekDay = Weekday("11/20/2019")Debug.Print theWeekDayFin du sous-marin |
Le résultat est:
Fonction VBA WeekdayName
Vous pouvez utiliser la fonction WeekdayName pour renvoyer le nom d'un jour de la semaine à partir d'un numéro de jour de la semaine fourni par l'entrée.
La syntaxe de la fonction WeekdayName est :
Nom du jour de la semaine(Jour de la semaine, [Abréviation], [Premier jour de la semaine]) où :
- Jour de la semaine - Une valeur entière comprise entre 1 et 7.
- Abréger (Optionnel) -Spécifie si le nom du jour de la semaine doit être abrégé. Si vide, la valeur par défaut False est utilisée.
- Premier jour de la semaine (Optionnel) - Une constante qui spécifie le jour de la semaine que la fonction doit utiliser comme premier jour de la semaine. Si vide, le dimanche est utilisé comme premier jour de la semaine. Firstdayofweek peut être l'une des valeurs suivantes :
-vbSunday - utilise le dimanche comme premier jour de la semaine.
-vbMonday - utilise le lundi comme premier jour de la semaine.
-vbTuesday - utilise mardi comme premier jour de la semaine.
-vbWednesday - utilise mercredi comme premier jour de la semaine.
-vbThursday - utilise jeudi comme premier jour de la semaine.
-vbFriday - utilise vendredi comme premier jour de la semaine.
-vbSaturday - utilise samedi comme premier jour de la semaine.
-vbUseSystemDayOfTheWeek - utilise le premier jour de la semaine spécifié par les paramètres de votre système.
12345678 | Sub UsingTheWeekdayNameFunction()Dim theWeekdayName As StringtheWeekdayName = WeekdayName(4)Debug.Print theWeekdayNameFin du sous-marin |
Le résultat est:
Fonction Année VBA
Vous pouvez utiliser la fonction Year pour renvoyer l'année d'une date d'entrée.
La syntaxe de la fonction Année est :
Année(Date_value) où :
- Date_value - La date dont vous souhaitez extraire l'année.
Le code suivant vous montre comment utiliser la fonction Year :
12345678 | Sub UsingTheYearFunction()Diminuer l'année en tant qu'entierl'Année = Année("11/12/2010")Déboguer.Imprimer l'annéeFin du sous-marin |
Le résultat est:
Comparer les dates en VBA
Vous pouvez comparer les dates à l'aide des opérateurs >, < et = dans VBA. Le code suivant vous montre comment comparer deux dates en VBA.
12345678910111213141516171819 | Dates de comparaison des sous ()Dim dateOne As DateDim dateDeux comme datedateUn = "10/10/2010"dateDeux = "11/11/2010"Si dateUn > dateDeux AlorsDebug.Print "dateOne est la date la plus tardive"ElseIf dateOne = dateTwo ThenDebug.Print "Les deux dates sont égales"AutreDebug.Print "dateTwo est la date la plus tardive"Fin siFin du sous-marin |
En savoir plus sur la mise en forme des dates sous forme de chaînes en consultant ce didacticiel.