IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macros et VBA Excel Discussion :

Fermer un userform par rapport à une variable. [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    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

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 : 15 374
    Billets dans le blog
    8
    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 éclairé
    Homme Profil pro
    Sapeur pompier
    Inscrit en
    Février 2008
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Sapeur pompier
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 442
    Par défaut
    Merci patricktoulon , ça fonctionne

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

Discussions similaires

  1. Image cligniotement par rapport à une variable
    Par LightShooter dans le forum Développement Mobile en Java
    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