Sub JoursRestantsAvantProchaineSaison()
Dim DateAuj As Date
Dim DatePrintemps As Date
Dim DateEte As Date
Dim DateAutomne As Date
Dim DateHiver As Date
Dim ProchaineSaison As Date
Dim JoursRestants As Long
' Date actuelle
DateAuj = Date
' Définir les dates de début des saisons pour l'année en cours
DatePrintemps = DateSerial(year(DateAuj), 3, 20)
DateEte = DateSerial(year(DateAuj), 6, 21)
DateAutomne = DateSerial(year(DateAuj), 9, 23)
DateHiver = DateSerial(year(DateAuj), 12, 21)
' Déterminer la prochaine saison
If DateAuj < DatePrintemps Then
ProchaineSaison = DatePrintemps
Message = "Le Printemps"
ElseIf DateAuj < DateEte Then
ProchaineSaison = DateEte
Message = "l'Été"
ElseIf DateAuj < DateAutomne Then
ProchaineSaison = DateAutomne
Message = "l'Automne"
ElseIf DateAuj < DateHiver Then
ProchaineSaison = DateHiver
Message = "l'Hiver"
Else
' Si la date actuelle est après le début de l'hiver, la prochaine saison est le printemps de l'année suivante
ProchaineSaison = DateSerial(year(DateAuj) + 1, 3, 20)
End If
' Calculer les jours restants
JoursRestants = ProchaineSaison - DateAuj
' Afficher le résultat
'MsgBox "Il reste " & JoursRestants & " jours avant la prochaine saison (" & Format(ProchaineSaison, "dd mmmm yyyy") & ")(" & Message & ")."
MsgBox "Il reste " & JoursRestants & " jours avant " & Message & " ( le " & Format(ProchaineSaison, "dd mmmm yyyy") & " )."
End Sub