Date
Les fonctions de date
Sub Mes_Dates()
'Day : jour du mois de 1 à 31
'Year : numéro de l'année
'Month: numéro du mois
'Numéro du jour
Range("A1").Value = "Nous sommes le " & Day(Now)
'Numéro du mois
Range("A2").Value = Month(Now)
'Fonction aujourdhui()
Range("A2").Formula = "=Today()"
'Date du jour (2 techniques)
Range("A2").Value = DateSerial(Year(Now), Month(Now), Day(Now))
Range("A2").Value = Year(Now) & "/" & Month(Now) & "/" & Day(Now)
End Sub
'Day : jour du mois de 1 à 31
'Year : numéro de l'année
'Month: numéro du mois
'Numéro du jour
Range("A1").Value = "Nous sommes le " & Day(Now)
'Numéro du mois
Range("A2").Value = Month(Now)
'Fonction aujourdhui()
Range("A2").Formula = "=Today()"
'Date du jour (2 techniques)
Range("A2").Value = DateSerial(Year(Now), Month(Now), Day(Now))
Range("A2").Value = Year(Now) & "/" & Month(Now) & "/" & Day(Now)
End Sub
Sub Nombre_De_Jour_Du_Mois()
'Nombre de jour du mois
Range("A3").Value = Day(DateSerial(Year(Now), Month(Now) + 1, 0))
'DateSerial renvoie une date - Syntaxe: DateSerial(year, month, day)
'DateSerial(Year(Now), Month(Now) + 1, 0) renvoie la date du dernier jour du mois
End Sub
'Nombre de jour du mois
Range("A3").Value = Day(DateSerial(Year(Now), Month(Now) + 1, 0))
'DateSerial renvoie une date - Syntaxe: DateSerial(year, month, day)
'DateSerial(Year(Now), Month(Now) + 1, 0) renvoie la date du dernier jour du mois
End Sub
Même exemple que ci-dessus mais avec une fonction
Public Function NbJourMoisCourant(UneDate As Date)
NbJourMoisCourant = Day(DateSerial(Year(UneDate), Month(UneDate) + 1, 0))
End Function
NbJourMoisCourant = Day(DateSerial(Year(UneDate), Month(UneDate) + 1, 0))
End Function
Sub Nom_Du_Jour_De_La_Semaine()
Dim madate As Date
madate = "05/02/2018"
'Exemple simple
Cells(1, 1) = WeekdayName(Day(madate), False, 2)
'Autre exemple
Cells(1, 2) = WeekdayName(Weekday(madate, 2), False, 2)
'Syntaxe de WeekdayName( unedate, [date en abrégée], début de la semaine - 2=lundi et 1 = dimanche)
'Syntaxe de Weekday( unedate, début de la semaine)
End Sub
Dim madate As Date
madate = "05/02/2018"
'Exemple simple
Cells(1, 1) = WeekdayName(Day(madate), False, 2)
'Autre exemple
Cells(1, 2) = WeekdayName(Weekday(madate, 2), False, 2)
'Syntaxe de WeekdayName( unedate, [date en abrégée], début de la semaine - 2=lundi et 1 = dimanche)
'Syntaxe de Weekday( unedate, début de la semaine)
End Sub
Numéro de la semaine :
Sub proc_numero_de_la_semaine()
Dim nosemaine As String
Dim madate As Date
madate = Range("B1").Value 'Récupère la date du jour affichée dans B1
'Calcul le numéro de la semaine de cette date :
nosemaine = Format(madate, "ww", vbMonday, vbFirstFourDays)
Range("B2").Value = nosemaine 'Affiche le numéro de la semaine
End Sub
Dim nosemaine As String
Dim madate As Date
madate = Range("B1").Value 'Récupère la date du jour affichée dans B1
'Calcul le numéro de la semaine de cette date :
nosemaine = Format(madate, "ww", vbMonday, vbFirstFourDays)
Range("B2").Value = nosemaine 'Affiche le numéro de la semaine
End Sub
Format de date
Exemple:
Dim madate
madate = Year(Now)
'Format de date longue :
Cells(1, ).Value = Format(madate, "Long Date")
'Renvoie le mois en cours sous 2 chiffre:
Range("A2") = Format(Now(), "mm")
madate = Year(Now)
'Format de date longue :
Cells(1, ).Value = Format(madate, "Long Date")
'Renvoie le mois en cours sous 2 chiffre:
Range("A2") = Format(Now(), "mm")
Sub proc_modifier_format_date() 'Exemple de modification de format Date sur cellule Range("A1").Value = CDate(Range("A1").Value) ' méthode 1 Range("A1").Value = Format(Range("A1").Value, "dd/mm/yy") ' méthode 2 'Exemple de modification de format Date sur variable mavariable = CDate(mavariable) ' méthode 1 mavariable = Format(mavariable, "dd/mm/yy") ' méthode 2 'Exemple de modification de format Date sur champ de formulaire monform.monchamptxt = CDate(monform.monchamptxt) ' méthode 1 monform.monchamptxt = Format(monform.monchamptxt, "dd/mm/yy") ' méthode 2 End Sub
Format Nombre et Monétaire
Exemple:
'Format de nombre avec un zéro devant :
Range("A2") = Format(Range("A2"), "0#")
'code vba pour format monétaire sur champ de formulaire
monform.TxtMontant.Value = Format(monform.TxtMontant.Value, "#'##0.00 €")
Range("A2") = Format(Range("A2"), "0#")
'code vba pour format monétaire sur champ de formulaire
monform.TxtMontant.Value = Format(monform.TxtMontant.Value, "#'##0.00 €")