Erreur sur VBScript pour calculer une date de naissance [Résolu/Fermé]

Signaler
Messages postés
101
Date d'inscription
vendredi 5 avril 2013
Statut
Membre
Dernière intervention
23 décembre 2014
-
Messages postés
101
Date d'inscription
vendredi 5 avril 2013
Statut
Membre
Dernière intervention
23 décembre 2014
-
a partir de son age et du jour qu'il est
et j'ai toujours l'erreur Then attendu a la 7/8ème ligne (en fonction de si vous comptez le a la ligne au début ou pas) 10ème caractère (ET bien entendu il n'y a pas de 10ème caractère sur cette ligne :-/ ...)

voici le script:

Do

annee = inputbox("en quelle annee est tu ne(e)")

mois = inputbox("en quel mois est tu ne(e)")

If input mois >12 or <1 then

msgbox "retapez la reponse en nombre."
Loop

else
End If

age = Year(now) - annee

If
mois < Month(now)
Then

age2 = age - 1
'car si on est ne au debut ou a la fin de l'annee ca change...
x = "tu as donc" & age2 & " ans."

Elself
mois > Month(now) Then

x = "tu as donc" & age & " ans."

esle

end if
Jour = Inputbox(" et quel jour?")

If Jour < Day(now) then

Age2 = age - 1

Jour2 = Day(now) - Jour

x = "tu vas donc fete ton anniversaire dans " & Jour2 & " jours!tu vas avoir " & age & "ans!"

Elself Jour > Day2 then

Jour2 = Jour - Day(now)

x = " tu viens donc tout juste de feter ton anniversaire (il y a " & jour2 & " jours ! )"

Else
x = "Bon anniversaire ! Tu fete tes " & age & "ans!"

End If

MsgBox "" & x & "" & vbNewLine
Exit
Loop

exit



si quelqu'un peut m'expliquer

3 réponses


Bonjour

If input mois >12 or <1 then

Cette condition est incorrecte, il fallait écrire
If input mois >12 or mois <1 then


De plus, je vois que tu n'imbrique pas correctement les structures : on trouve le Loop avant le End If... Il y a beaucoup de chose à revoir
Messages postés
101
Date d'inscription
vendredi 5 avril 2013
Statut
Membre
Dernière intervention
23 décembre 2014
5
je suis débutant... mais si j'ai mis le loop avant le end if c'était pour revenir au début que si le format de réponse est incorrect (peut être que c'est une erreur...)
je l'ai corrigé en suppriment le loop et en le remplacent par exit
maintenant le début donne ça:

annee = inputbox("en quelle annee est tu ne(e)")

mois = inputbox("en quel mois est tu ne(e)")

If input mois >12 or mois <1 then

msgbox "retapez la reponse en nombre."
exit
elself mois <13 and >0
else
End If

ET mon bug persiste ?! en m'indiquant un Then attendu ligne5(celle du exit) caractère 10? IL N'Y A PAS DE CARACTÈRE 10 SUR CETTE LIGNE! et si le vrai bug c'était cette fenêtre qui tourne en boucle?

If input mois >12 or mois <1 then
Je n'avais pas remarqué... que fait ce mot "input" ici ?
ET Quant au caractère 10 , ça veut simplement dire le 10e caractère de la ligne.
Messages postés
101
Date d'inscription
vendredi 5 avril 2013
Statut
Membre
Dernière intervention
23 décembre 2014
5
j'avait compris mais il n'y a pas de 10eme caractère sur cette ligne :-/
et quand au mot input j'aivait pensé si la reponse mois est...
tienen enlevant input le message d'erreur disparaît (ouf)...
Utilisateur anonyme
Si.
Messages postés
101
Date d'inscription
vendredi 5 avril 2013
Statut
Membre
Dernière intervention
23 décembre 2014
5
on dirait que les messages d'erreur que je reçoit ne comptent pas les lignes comme moi,le bloc note(en bidouillant dans affichage y'a une option qui affiche la ligne et le caractere.) ET vbsedit qui a le meme systeme,du coup les erreur sont plus dur a corriger...
je commence a plus trop savoir si je doit me fier aux lignes des message d'erreur...
Messages postés
101
Date d'inscription
vendredi 5 avril 2013
Statut
Membre
Dernière intervention
23 décembre 2014
5
Merci quand meme...(c'est reglé) maintenant j'ai plus qu'a corriger les autres erreurs...(aie,aie,aie)