Problèmes en vbs

Résolu
Bonjour

je suis débutant en vbs et j'ai concocté un petit programme. Voici le code :

randomize
dim num1
dim num2
dim resultat
dim reponse
num1=int((10-1+1)*rnd+1)
num2=int((10-1+1)*rnd+1)
resultat=num1+num2
reponse=inputbox (num1&" + "&num2& "=")
if resultat = reponse then
msgbox "Bonne réponse !",vbexclamation,"Bonne réponse !"
else
msgbox "Mauvaise réponse. La bonne réponse était : "&resultat&" et non : "&reponse,vbexclamation,"Mauvaise réponse"
end if
dim choix
choix=msgbox ("Voulez-vous faire un autre calcul ?",vbquestion+vbyesno," Un autre calcul ?")
if choix=6 then
set WshShell = createObject("WScript.shell")
Wshshell.run "test.vbs"
end if

Le problème, c'est que quand je met la bonne réponse, par exemple 2+2=4, il m'indique : Mauvaise réponse ! La bonne réponse était : 4 et non : 4
Est-ce que quelqu'un pourrait m'aider ?

7 réponses

  1. je suis aussi un débutant mais j'ai essayé ton code et j'ai chagé :

    if resultat = reponse then par :

    if resultat = num1+num2 then
    et la le msgbox me dit

    Bonne réponse !
    1. Contributeur
      re,
      encore heureux !!!
      vu que la valeur de resultat est justement num1+num2
      alors que ce que l'on veut tester c'est la reponse de la mgbox .
      j'ai pas de vb sous la main mais
      reponse = inputbox("Quel est votre reponse ?")
      WScript.echo(reponse)
      ça te renvoi quoi ?
      tu verra bien si tu as une valeur
      a+

      FC 11 - Mandriva 2009 -Debian squeeze-
      Les meilleures choses ont besoin de patience.(JC ANGLADE)
      penser aux astuces
      1. j'ai autre solution

        remplacez :

        if resultat = reponse then
        par:

        if resultat = int(reponse) then
        super ! j'ai l'est testez est les réponse sont juste 100% et si inputbox vous dit par Ex 5+1 alors si vous entrez 6 donc le méssage est : Bonne réponse ! sinon Mauvaise réponse. La bonne réponse était : 6 et non : qqc
    2. SUPER ! MERCI BEAUCOUP ! Vous m'avez étés d'une aide précieuse !
      1. de rien mon ami et félicitation pour ce bon code car je le retrouve de la partie d'intéligence
        si vous avez qqc code de type jeux (game ) merci pour me donner qq aide car je suis trés débutant
    3. Voilà la bonne syntaxe :

      If resultat = Cint(reponse) Then


      Sinon prend l'habitude de typer tes variables. Par défaut "reponse" est un string, si tu avait mis : Dim reponse As Integer, tu n'aurais pas eu de problème.

      ;o)
      1. mais vous êtes ou ? quand je pose des question car j'ai déja posé une question dans ce forum sur les code en vbs et hta pour des petits jeux ( games )
      2. oui et alors ?
      3. est ce que vous pouvez me donner qq code pour les games ( n'importe Ex: jeux de carte ...etc )
    4. Effectivement, Jeanbi, quand j'insère ton code, il me renvoie une variable : la réponse que j'ai donné. Encore une foi, merci pour tout.
      1. Encore une foi, merci pour tout. Je considère maintenant que ce sujet est clos. Je vous souhaite à tous une bonne continuation.

        Et, Karirovax, pour les jeux, intéresse toi plutôt au java script.
        1. mais je trouve que java script et vbscript sont identique non ?
          et pour java script je ne sais plus ! :(
      2. Mais non ! Javascript offr beaucoup plus de possibilités que vbscript !
        1. encore merci bguigui
          mais je préfere de commancer un peu par vbscript et si je suis un peut fort en vbscript je passe a java script
          encore merci
        2. mais je préfere de bien métriser le puis je passe au java ; merci encore