Recherche

Script avec des tests sur les variables entrées : Diagnostique de date naissance



CODE VBSCRIPT

' Demander une date
ask = "Quel est votre date de naissance?"
title = "Diagnotiquer votre Age!"
' Commencer la boucle:

do
birthday = InputBox(ask, title)
' check whether the user wants to quit:
if isEmpty(birthday) then
MsgBox "Hey! Vous pouvez entrer une date erronée pour " _
& " cacher votre age! Mais OK, Je Quite!"
WScript.Quit
elseif not isDate(birthday) then
' verifier que la valeur entrée est vraiment une date!
' Donner une occasion de saisie de la date:
MsgBox "Vous n'avez pas entré une date! Essayez à nouveau!"
end if
' boucler jusqu'à une date valide a été entrée
loop until isDate(birthday)
' à cette étape, nous avons une date valide!
' effectuer nos calcul:
age_in_days = DateDiff("d", birthday, date)
age_in_months = DateDiff("m", birthday, date)
age_in_years = DateDiff("yyyy", birthday, date)
day_born = WeekdayName(Weekday(birthday))

' calculer la date de naissance de cette année
date_day = Day(birthday)
date_month = Month(birthday)

' utiliser l'année en cours:
date_year = Year(date)
this_years_birthday = DateSerial(date_year, date_month, date_day)
' use Abs to convert to positive numbers in case the birthday’s
' already over:
days_to_birthday = Abs(DateDiff("d", date, this_years_birthday))
day_celebrating = WeekdayName(Weekday(this_years_birthday))

' passer à l'autre étape?
if this_years_birthday
message = "Vous avez déjà faité votre anniversaire " & days_to_birthday _
& " Jours Avant"
elseif this_years_birthday = date then
message = "Joyeux Anniversaire!!!"
else
message = days_to_birthday & " jours avant votre anniversaire"
end if
' output Information

msg = "Ceci est un diagnostic de votre date de naissance:" & vbCr
msg = msg + "Vous étiez née le " & birthday & vbCr
msg = msg + "Vous avez  " & age_in_years & " ans. Ce qui fait" & vbCr
msg = msg & age_in_months & " Mois ou bien " & age_in_days _
& " Jours!" & vbCr
msg = msg + "Vous étiez née un " & day_born & vbCr
msg = msg + "Cette année, votre anniversaire est le " & this_years_birthday & vbCr
msg = msg + "Il correspond à un " & day_celebrating & vbCr
msg = msg + message

MsgBox msg

EXEMPLE D’ILLUSTRATION:

*Une fois vous avez entré une date valide, le script vous donne une analyse de votre date de naissance : jour de naissance, jour ou vous fêtez votre anniversaire cette année, combien vous reste en jour :

le script vous donne une analyse de votre date de naissance
*Le script vérifie si vous avez bien entré une date et vous demande d’entrer une date valide :

Le script vérifie si vous avez bien entré une date et vous demande d’entrer une date valide
*Si voulez annuler, le script vous informe que vous pouvez faire le diagnostic avec une date erronée :
le script vous informe que vous pouvez faire le diagnostic avec une date erronée