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 :

Menu par clic droit et masquage de formulaire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut Menu par clic droit et masquage de formulaire
    Bonjour,

    Je dispose de plusieurs userform. Pour naviguer entre chacun de ces userform, j'ai réalisé une commande bar, qui par clic droit me permet de choisir le bon userform.

    Ainsi dans mon userform j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
      If Button And 2 Then Call CreatePopupMenu
    End Sub
    Qui me permet par clic droit sur la form d'afficher un menu.Le choix d'un item de se menu entraine la macro suivante (placée dans un module):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub AfficherUsf3()
    Usf3.Show
    End Sub
    Ainsi, ici le 3° formulaire apparaît bien mais le premier sur lequel j'ai le clic droit n'est pas enlever.

    Puisque je ne peut pas faire de me.hide puisque je suis sur le module, quelle procédure puis-je utiliser?

    Merci pour votre aide.

    Elumastebit

  2. #2
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Bonjour,

    Tu as essayé :

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    bonjour Zandru,

    Oui j'ai essayé, mais le problème est que j'ai 9 form et si je met:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    usf1.hide
    usf2.hide
    ...
    usfx.show
    il me retourne une erreur puisque j'essaie de masquer des form non visible.

  4. #4
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    Merci Zandru tu m'as ré-aiguillé sur la bonne voie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub AfficherUsf6()
    If UsfG.Visible = True Then UsfG.Hide
    If Usf1.Visible = True Then Usf1.Hide
    If Usf2.Visible = True Then Usf2.Hide
    If Usf3.Visible = True Then Usf3.Hide
    If Usf4.Visible = True Then Usf4.Hide
    If Usf5.Visible = True Then Usf5.Hide
    If Usf7.Visible = True Then Usf7.Hide
    If Usf8.Visible = True Then Usf8.Hide
    Usf6.Show
    End Sub
    C'est un peu lourd puisque j'ai 9 form mais ça fonctionne.

    Merci et bonne journée à vous.

  5. #5
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour

    je me doutais bien un truc comme cela, mais comme tu avais une réponse, j'ai attendu...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    sub lance_usf3
          on error resume next
          usf1.hide
          usf2.hide
          usf3.hide
          etc......
          on error goto 0
          usfx.show
    end sub

  6. #6
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 58
    Par défaut
    Salut wilfried_42,

    Petite question: à quoi sert:


    Sinon pour conclure ce post:

    Si je suis sur le usf3 et que je clic droit et choisis usf3 alors vb me renvoi une erreur. J'ai donc mis la boucle if then else suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Usf3.Visible = True Then Exit Sub _
    Else: Usf3.Show

  7. #7
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    quand tu fais un on error goto étiquette ou comme ici un on error resume next, tu détournes le contrôle d'erreur du basic. donc quand tu as terminé avec ce type de procédure, il te faut rendre le contrôle d'erreur au basic sinon tu vas vers de gros problèmes.
    Exemple : tu fais plus loin dans la Macro, une autre erreur celle-ci involontaire par exemple une division par zéro, si tu n'as pas rendu le contrôle d'erreur au basic, tu ne la verras pas, tes résultats risquent d'êtres faux et tu chercheras longtemps le problème...
    on n'utilise la gestion des erreurs que lorsque l'on sais quelle erreur est susceptible d'arriver, pourquoi elle arrive... et à la fin on rend le contrôle au VBA...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/07/2008, 17h01
  2. Comment valider un items de Treeview par clic droit?
    Par Mickey.jet dans le forum Delphi
    Réponses: 8
    Dernier message: 10/05/2007, 17h23
  3. ouverture de fenetre par clic droit
    Par pierrot2908 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 24/04/2007, 09h34
  4. [VB6]Menu au clic droit
    Par Alex35 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/04/2006, 15h27
  5. Réponses: 2
    Dernier message: 09/05/2003, 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