Option Explicit
Dim Vmultiplicateur1 As Integer
Dim Vmultiplicateur2 As Integer
Dim Resultat As Integer
Dim Saisie As Integer
Dim VClasseur As Workbook
Sub TestClasseurOuvert()
On Error Resume Next
Set VClasseur = Workbooks("cheminpatatpatata")
On Error GoTo 0
If VClasseur Is Nothing Then
Call multiplications
Else: Set VClasseur = Nothing
End If
End Sub
Sub multiplications()
Workbooks.Open Filename:="cheminpatatitpatata"
Randomize
Vmultiplicateur1 = Int(Rnd() * 10) + 0
Vmultiplicateur2 = Int(Rnd() * 10) + 0
Resultat = Vmultiplicateur1 * Vmultiplicateur2
On Error GoTo GestionErreur
Range("a1").Select
Saisie = Application.InputBox(prompt _
:="Quel est le résultat de " & Vmultiplicateur1 & " X " & Vmultiplicateur2 & " ?", Title:="Multiplications", Type:=2)
'=====================================================================================================================
'BOUCLE DE SAISIE
'=====================================================================================================================
Do While Saisie <> Resultat
MsgBox "Non, c'est faux, recommence !"
10 Saisie = Application.InputBox(prompt:= _
"Quel est le résultat de " & Vmultiplicateur1 & " X " & Vmultiplicateur2 & " ?", Type:=2)
Loop
''=====================================================================================================================
'MESSAGE CORRECT OU FAUX
'======================================================================================================================''=====================================================================================================================
If Saisie = Resultat Then
MsgBox "Bravo toto, c'est le bon résultat !"
If MsgBox("Veux-tu recommencer ?", vbYesNo, "Recommencer") = vbNo Then
Workbooks(ActiveWorkbook).Close
Else: Call multiplications
End If
End If
Exit Sub
''===========================================================================================
'GESTION DES ERREURS
''===========================================================================================
GestionErreur:
If Err.Number = 13 Then
MsgBox "Attention, tu dois saisir un nombre !", vbExclamation
'reprendre l'execution du code sur la ligne numérotée ci-dessous
Resume 10
' gestion du bouton annuler
'' ElseIf Saisie = "false" Then
' Exit Sub
End If
End Sub