Fermer un userform par rapport à une variable.
Bonjour,
Pour créer un Sérious game, je suis passé par Excel. Le principe c'est l'ouverture d'un userform qui contient une question et 4 images pour les réponses nommé Q_(num_de_la_question).
Au clic, je lance la procédure bonne ou mauvaise. Les procédures sont stockées dans un module.
J'arrive à ouvrir le formulaire suivant mais je n'arrive pas à fermer le formulaire précèdent. La ligne de code que j'ai mis pour fermer
Code:
Unload VBA.UserForms.Add(nom_form)
.
Code module :
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
|
Global num_F As Byte 'variable N° formulaire
Global score As Byte 'variable score
Global nom_form As String 'variable nom du formulaire
Public formuaire As String
Sub bon()
'ajoute 1 pt ferme le formulaire ancien et ouvre le questionnaire suivant
score = score + 1
'VBA.UserForms.Add(nom_form).Hide
formuaire = "Q_" & num_F + 1
VBA.UserForms.Add(formuaire).Show
End Sub
Sub mauvais()
'ferme le formulaire en cours
Unload VBA.UserForms.Add(nom_form)
'ouvre le formulaire réponse
formuaire = "R_" & num_F
VBA.UserForms.Add(formuaire).Show
End Sub
Sub suivant()
'ferme le formulaire
Unload VBA.UserForms.Add(nom_form)
'ouvre le formulaire suivant aprés avoir donné la réponse
formuaire = "Q_" & num_F + 1
VBA.UserForms.Add(formuaire).Show
End Sub |
Code formulaire :
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 32 33 34
| Private Sub UserForm_Initialize()
'recupere le nom du formulaire
nom_form = Me.Name
'numéro de ce formulaire
num_F = Mid(nom_form, InStrRev(nom_form, "_") + 1)
End Sub
Private Sub haute_concentration_Click()
'ferme
Unload Me
'mauvaise reponse ouvre le questionnaire réponse
mauvais
End Sub
Public Sub lunette_Click()
'ferme
Unload Me
'mauvaise reponse ouvre le questionnaire réponse
mauvais
End Sub
Private Sub moyenne_concentration_Click()
'ferme
Unload Me
'bonne reponse ouvre le questionnaire suivant
bon
End Sub
Private Sub non_indique_Click()
'ferme
Unload Me
'mauvaise reponse ouvre le questionnaire réponse
mauvais
End Sub |
Je ne veux pas mettre la fermeture depuis le code du questionnaire, pouvez-vous me dire le bon code pour fermer le formulaire depuis le module via la variable.
Merci par avance.
Sebing