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 : Sélectionner tout - Visualiser dans une fenêtre à part Unload VBA.UserForms.Add(nom_form)
Code module :
Code formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci par avance.
Sebing
Partager