Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre averti
    Homme Profil pro
    sapeurs pompiers
    Inscrit en
    février 2008
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : sapeurs pompiers
    Secteur : Service public

    Informations forums :
    Inscription : février 2008
    Messages : 403
    Points : 340
    Points
    340

    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
     Unload VBA.UserForms.Add(nom_form)
    .

    Code module :
    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
    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
    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
    Débutant j essaie de m améliorer en essayant d'aider sur le fourm
    Merci d être indulgent sur le code ou reponse proposé je reçois volontier les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

  2. #2
    Débutant  
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    14 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 14 614
    Points : 22 142
    Points
    22 142
    Billets dans le blog
    6

    Par défaut re

    set toi plutot de variable object pour ton userform voir (Userform)
    dans le standard
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public nom_form as object
    dans le initialyse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set nom_form=me 'dans le initialyse
    partout ou tu veux
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre averti
    Homme Profil pro
    sapeurs pompiers
    Inscrit en
    février 2008
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : sapeurs pompiers
    Secteur : Service public

    Informations forums :
    Inscription : février 2008
    Messages : 403
    Points : 340
    Points
    340

    Par défaut

    Merci patricktoulon , ça fonctionne
    Débutant j essaie de m améliorer en essayant d'aider sur le fourm
    Merci d être indulgent sur le code ou reponse proposé je reçois volontier les critiques qui me feront progresser, mais aussi un (ça fait toujours plaisir de savoir que l on a pu dépanner une personne ).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Image cligniotement par rapport à une variable
    Par LightShooter dans le forum Java & Mobiles
    Réponses: 0
    Dernier message: 14/05/2013, 10h44
  2. [XL-2007] Position d'une UserForm par rapport à une cellule
    Par ESVBA dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/10/2009, 17h23
  3. Recherche nom d'une feuille Excel par rapport à une variable
    Par depi67 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/10/2008, 08h43
  4. Réponses: 4
    Dernier message: 23/04/2008, 22h46
  5. Minimum par rapport à une variable
    Par Marcusss dans le forum MATLAB
    Réponses: 7
    Dernier message: 15/04/2007, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo