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 :

probleme UserForm_QueryClose avec 2e userform


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Points : 25
    Points
    25
    Par défaut probleme UserForm_QueryClose avec 2e userform
    bonjour,

    j'ai une macro disposant d'un panneau d'accueil (en lancement auto) ou j'ai mis une securité sur le clic de la croix :

    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
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' ****************** Gestion de la croix du 1er userform******************
    
    Dim Mot_De_Passe As String
    
    If CloseMode = 0 Then
        If Panneau_Accueil = True Then
            Me.Hide
            Mot_De_Passe = InputBox("veuillez entrer le mot de passe pour acceder au fichier source", "Acces fichier source")
                If Mot_De_Passe = "toto" Then
                    MsgBox "Abandon de la macro - Acces fichier source"
                Else
                    MsgBox "Mauvais mot de passe"
                    Cancel = True
                    Me.Show False
                End If
        End If
    End If
    
    End Sub
    jusque là ca marche bien. Lorsqu'on veut sortir par la croix, si on entre autre chose que "toto" ou si on clique à blanc sur ok ou annuler, on revient sur le panneau.

    Le probleme c'est que via ce panneau j'accede à un 2e userform ou là, j'interdis carrement la sortie par la croix (pour obliger à passer par un bouton retour) via le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    ' ****************** gestion de la croix du 2e userform******************
     
     
    If Panneau_Accueil = True Then
        If CloseMode = vbFormControlMenu Then
            MsgBox "Veuillez faire retour et quitter pour sortir"
            Cancel = True
        End If
    End If
    quand je fais retour, le reviens sur mon panneau d'accueil via le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Retour_Click()
    ' ****************** bouton retour vers boite accueil ******************
     
     
    Me.Hide
    Unload Me
    Load Boite_Accueil
    Boite_Accueil.Show
     
    End Sub
    et là, patatra !! lorsqu'on clique sur la croix du panneau d'accueil, la demande de mot de passe apparait bien mais n'agit pas comme prevu (on sort de la macro quelque soit la reponse)
    Pourtant, j'ai vérifié, on passe bien par le "else" (en rouge) du code de la croix du 1er userform.

    Quelqu'un pourrait il m'aider?

    merci

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 84
    Points : 78
    Points
    78
    Par défaut
    Elle indique quoi ta variable Panneau_Accueil ? Parce que chez moi ca marche bien

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Points : 25
    Points
    25
    Par défaut
    ca permet de verifier qu'on est sur le 1er lancement de la macro (demarrage auto). apres elle passe à false pour d'autres utilisation du 2e userform (ce qui reactive la croix)

    j'ai essayer de la forcer en true dans le bouton retour mais ca ne change rien.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2012
    Messages : 84
    Points : 78
    Points
    78
    Par défaut
    Chez moi j ai mis la variable automatiquement a true et ca fonctionnait. Donc 1) soit quand tu reviens de certains chemin tu oublies de la remettre à True
    2) Soit j essaierais d unloader le userform 1 au lieu de seulement le "hider" puisqu apres tu le reload en cliquant sur le bouton retour de ton userform 2.

    Je n ai pas excel 2000 mais peut etre que ca vient de la et qu il gere mal le fait que tu load un objet qui est deja loadé (ton userform 1)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Points : 25
    Points
    25
    Par défaut
    le bouton qui envoie sur le userform 2 (je n'ai pas mis le code) decharge le userform 1. C'est pour ca que ca le recharge par le bouton retour.

    Mon soucis, c'est que je passe bien dans le "else" (lorsque je fais "croix du U1 apres un "retour" du U2). J'ai meme mis un stop pour verifier !!
    et au lieu de faire "Me.show" il hide

    j'essayerai qu'en meme demain.

Discussions similaires

  1. Probleme de Nbre avec un Userform Via Excel
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/08/2006, 09h29
  2. [JTextAera][JScrollPane]Probleme mineur avec l'ascenseur
    Par Voxdei dans le forum Composants
    Réponses: 2
    Dernier message: 18/07/2004, 09h52
  3. [VB.NET] - Probleme Label avec Database
    Par codez dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/06/2004, 17h37
  4. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32
  5. probleme GRAVE avec directx 9
    Par l'arbre en plastique dans le forum DirectX
    Réponses: 3
    Dernier message: 02/09/2003, 23h59

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