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 :

Bouton1 qui masque Bouton2 et vice versa


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
    Août 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 23
    Par défaut Bouton1 qui masque Bouton2 et vice versa
    Bonjour à toutes et à tous,

    Voici mon problème :

    Je voudrai que lorsque l'utilisateur clique sur le Bt 1, le Bt 2 soit masqué et vice versa. Toutefois, lorsque l'utilisateur ouvre le classeur, les 2 boutons doivent être visibles et actifs.

    Les bts sont des "commandbutton" de la boite à outils contrôles placé sur une feuille excel "Feuil2"

    J'ai essayé en plaçant dans feuil2 sur bouton 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Sub EnvoiValidN1_Click()
    EnvoiValidN2.Visible=False
    et l'inverse sur EnvoiValidN2
    Puis sur workbook_open
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    EnvoiValidN1.Visible=true
    EnvoiValidN2.Visible=true
    quand je clique sur le bouton 1 ça masque bien le bouton 2 mais lorsque je ferme (aprés avoir enregistré) et que j'ouvre à nouveau le classeur, le bouton 2 n'est plus visible ! Je suis obligé d'aller dans les propriétés du bouton 2 et remettre true manuellement.

    J'ai peut être pas placé un code au bon endroit ? Ou code faux ?

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 163
    Par défaut
    Bonjour, initialise tes boutons à l'ouverture grace au thisworkbook, il y a une valeur open.

  3. #3
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    spécifie le nom de la feuille avant le nom des boutons

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Private Sub Workbook_Open()
    Sheets("Feuil1").EnvoiValidN1.Visible = True
    Sheets("Feuil1").EnvoiValidN2.Visible = True
    End Sub

  4. #4
    Membre averti
    Inscrit en
    Août 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 23
    Par défaut Rien ne fonctionne
    Désolé Jérome mais avec ton code j'ai : erreur d'éxécution '9' l'indice n'appartient pas à la sélection.

    Quand à toi theshark85, désolé aussi mais lorsque que je tape sheets ("Feuil2").EnvoiValid.___ 'je n'ai pas la proposition "initialize"

    Si vous avez d'autres propositions, je suis preneur.

  5. #5
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Juste pour etre sur, tu as bien mis le bon nom de feuille et le bon nom de bouton?

  6. #6
    Membre averti
    Inscrit en
    Août 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 23
    Par défaut
    Yes Jérome,

    Feuil2 est bien le nom de ma feuille (name dans propriétés)
    EnvoiValidN1 et N2 sont bien les noms de mes boutons (name dans propriétés)

    Peut-être faut-il utiliser la fonction select dans workbook ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonsoir Ercohuma59,

    J'ai créé un fichier et j'ai essayé le code sur ThisWorkBook :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_Open()
    Sheets("Feuil2").Select
    Sheets("Feuil2).Envoi1.Visible = True
    Sheets("Feuil2").Envoi2.Visible = True
    End Sub

    Puis sur la Feuil2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Envoi1_Click()
    Envoi1.Visible = True
    Envoi2.Visible = False
    End Sub
    Private Sub Envoi2_Click()
    Envoi2.Visible = True
    Envoi1.Visible = False
    End Sub
    Et cela fonctionne. Les 2 boutons sont bien affichés après fermeture du fichier puis réouverture (j'ai raccourci les noms des boutons, mais ça n'a pas d'importance).

    Avez-vous bien vérifié la syntaxe ?

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

Discussions similaires

  1. Classe A qui contient B et vice versa : Impossible ?
    Par SmallFitz dans le forum Débuter
    Réponses: 12
    Dernier message: 17/11/2011, 07h19
  2. Script qui marche sous Linux mais pas sous Windows et vice versa
    Par tu-phat dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 26/11/2009, 02h39
  3. [getRequestDispatcher] de post à get (et vice versa)
    Par Kimael dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 21/11/2008, 09h36
  4. [PyMedia] Decomposer un film en image ...et Vice versa
    Par parp1 dans le forum Programmation multimédia/Jeux
    Réponses: 3
    Dernier message: 19/06/2005, 15h23
  5. Réponses: 3
    Dernier message: 28/09/2003, 10h46

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