Malgré mes recherches et mes essais, je n'ai pas trouvé le moyen d'ouvrir et de fermer un userform depuis un bouton sur un autre userform ouvert en vbmodeless. Avec un truc du genre: si userform2 ouvert, alors le fermer, et lycée de versailles!.
Si vous voyez ce que je veux dire et que la solution existe, ben... je suis preneur!!!
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonjour dmoluc, le forum,
En fait, je pense m'être mal exprimé...
Ce que je souhaite, c'est, à partir d'un même bouton sur le userform1, ouvrir ou fermer un autre userform selon s'il est déjà ouvert ou non.
Avec une formule du genre:
If UserForm2=Open then
Close
Else
load UserForm2
UserForm2.Show
End If
Mon problème étant que je ne parviens pas à trouver la bonne formule...
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonsoir camarchepas, dmoluc, le forum,
De toute évidence, la façon dont je souhaite faire les choses n'est pas possible, mais vous m'avez mis tous les deux sur une piste que je vais m'empresser de peaufiner pour arriver à mes fins par des chemins de traverse...;-)
Merci à vous deux et bonne soirée.
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonjour Fo_rum et le forum,
C'est presque ce que je voulais, seul petit problème, si je rajoute quelque chose dans un des userform, par exemple un textbox, ben là, plus rien ne fonctionne... Mais peut-être est ce du au fait que mon Excel tourne sous émulation de Win Xp, le tout sur un Mac (Ben oui Office pour Mac ça crains!) Des fois ça me fait des trucs un peu bizarres...
Bonne journée.
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonjour,
je ne m'étais préoccupé que du "vice, m'as tu vu, et versa" .D'où les 2 boutons.
Pour garder les données, comme l'indique mapomme, il ne faut pas décharger mais cacher. Donc un autre essai.
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonsoir à tous,
petit remaniement l'exemple Togglebutton de "Dmoluc" avec un Commandbutton:
Code:
Sub choix(bouton As CommandButton)
On Error GoTo ETIQUETTE
With bouton
If .BackColor = vbGreen Then
UserForm2.Show
.Caption = "Fermer"
.BackColor = vbYellow
Else
Unload UserForm2
.BackColor = vbGreen
.Caption = "Afficher"
End If
End With
Exit Sub
ETIQUETTE:
End Sub
Private Sub CommandButton1_Click()
Call choix(CommandButton1)
End Sub
Private Sub UserForm_Initialize()
Call choix(CommandButton1)
End Sub
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonsoir,
je n'ai pas encore compris ce que voulais deudecos mais merci à toi "fhoest" pour cette solution qui pourrait bien me servir un jour et qui va enrichir mes maigres connaissances en vba : je ne savais pas que cette petite manip était applicable à un commandbouton
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
Bonsoir le fil,
Bonsoir deudecos,
Le problème soulevé attisant ma curiosité, je m'immisce dans la discussion pour proposer une solution qui, si j'ai bien compris, devrait répondre à la question initiale.
Le userform2 ne peut être ouvert ou fermé (ou plus exactement caché) que par le bouton de userform1. Sa croix de fermeture est désactivée.
Quitter le formulaire 1 ferme et décharge le formulaire 2.
Re : Peut on ouvrir et fermer un userform avec un même bouton sur un autre userform?
salut
Si... on part sur un seul bouton, avec un bouton bascule, cela devrait suffire dans le premier USF :
Code:
Private Sub ToggleButton1_Click()
ToggleButton1.Caption = IIf(ToggleButton1, "fermer", "ouvrir")
If ToggleButton1 Then UserForm2.Show Else UserForm2.Hide
ToggleButton1.BackColor = IIf(ToggleButton1, vbGreen, vbYellow) 'pas nécessaire
End Sub
et dans le second comme le suggère Si... bien Papou-net :
Code:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Cancel = CloseMode = 0
End Sub