Macro pour Commandbutton visible/non visible sur un userform.

windhunter56 Messages postés 16 Date d'inscription jeudi 23 octobre 2008 Statut Membre Dernière intervention 5 mai 2013 - 28 févr. 2009 à 10:12
windhunter56 Messages postés 16 Date d'inscription jeudi 23 octobre 2008 Statut Membre Dernière intervention 5 mai 2013 - 2 mars 2009 à 20:52
Windhunter56

Bonjour à tous,
Voici ma question: je travaille actuellement sur excel avec des userForms. J'ai au lancement de mon fichier Excel un UserForm accueil qui apparait. Sur celui-ci, il y a deux commandButton "1 et 2" qui permettent tous les deux,d'afficher le même UserForm "traitement infos". Le Userform  "traitement infos" a lui un  CommandButton "3" qui est défini non visible dans sa fenêtre de caractéristique et qui sert ,lorsqu'il est visible, à afficher un UserForm "comptabilité" .Au début lors de l'appui sur le CommandButton 1, Userform traitement infos s'affiche sans le commandButton 3, pour l'instant rien à dire, c'est le but recherché. Je ferme userform traitement infos avec un bouton de fermeture et  appui sur commandbutton2 qui dispose d'une  macro évènement lors Click avec en partie "Userformtraitementinfos.Commandbutton3.Visible= True". Et là ça passe que si je referme Userform traitement et que j'appui de nouveau sur commandbutton 2 de userform accueil. Et cela fait la même chose pour faire disparaitre commandbutton3 en appuyant sur commandbutton 1 de userform accueil ???
Je suis dans l'impasse avec mon niveau en VBA.
Voici pourquoi je fais appel à notre communauté afin de consolider les fondements de .....non je plaisante.
Enfin j'espère que mon cas intéressera un "féru" de programmation.
Merci d'avance pour une réponse.

2 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
28 févr. 2009 à 11:21
Bonjour,

Simple... tu as dû coder ceci :

Private Sub CommandButton2_Click()
UserForm2.Show
UserForm2.CommandButton3.Visible = True
End Sub

(Ici Userform2 remplace Userformtraitementinfos)

Avec ce code je retrouve le même comportement que tu décris.

LA solution, inverser les deux lignes, ainsi :

Private Sub CommandButton2_Click()
UserForm2.CommandButton3.Visible = True
UserForm2.Show
End Sub

Il faut d'abord définir l'état des controles avant l'affichage.

Ce problème est identique dans sa logique, avec les controles de des "dialogues communs"...

Amicalement,
Us.
0
windhunter56 Messages postés 16 Date d'inscription jeudi 23 octobre 2008 Statut Membre Dernière intervention 5 mai 2013
2 mars 2009 à 20:52
Windhunter56

Bonjour et merci pour l'info.
Pas de problème ça fonctionne maintenant.
j'ai quelques bases à apprendre en VBA pour maîtrisser la programmation.
Merci encore A+
0
Rejoignez-nous