problème basique erreur de code
Bonjour à tous,
j'ai eu beau relire 50 fois mon code je saisis pas où est l'erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub n()
Dim x As Variant
For x = 2 To 4
For i = 1 To 10
o = InputBox("combien font " & x & "x" & i & "?")
If o = x * i Then
MsgBox ("Bravo, Nestor")
Else
MsgBox ("Raté, Nestor")
End If
Next i
Next x
End Sub |
ça me mets toujours : "erreur Nestor", même quand c'est bon.
Une idée ?
table de multiplication de 2 à 4
Effectivement, ça fonctionne mieux ainsi. Je pensais que si l'on donnait du chiffre à manger à l'inputbox il le convertirait de lui-même. Mais non. Faut tout lui dire...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub h()
Dim x As Integer
Dim o As String
Dim k As Integer
Dim i As Integer
Dim w As String
Dim q As String
For x = 2 To 4
For i = 1 To 10
o = InputBox("combien font " & x & "x" & i & "?")
If Val(o) = x * i Then
MsgBox ("Bravo, Nestor")
Else
MsgBox ("Raté, Nestor. La bonne réponse était : " & x * i)
k = k + 1
End If
Next i
MsgBox ("votre nombre total d'erreurs est de : " & k)
If x < 4 Then
w = InputBox("souhaitez-vous quitter le programme (q) ou poursuivre (p) à la table suivante ?")
If w = "q" Then
MsgBox ("a+ dans l'bus")
Exit Sub
ElseIf w = "p" Then
MsgBox ("dac c'est reparti pour un tour mon lapin")
End If
Else
MsgBox ("programme terminé.")
End If
Next x
End Sub |
Voici le code quelque peu augmenté et fonctionnel.
Par ailleurs, comment aurions-nous pu faire sans la bienheureuse fonction Val() ? Quels autres procédés de transtypage en VBA ?
Je marque la question comme résolue.
Soyez bien remercié.