bonjour,
j'ai dans un userform, plusieurs "togglebutton" quand je clique sur l'un de ces boutons il m'ouvre un autre userform dans le code du bouton j'ai pourtant mis userform.hide mais il reste en fond quand même que faire ??
Version imprimable
bonjour,
j'ai dans un userform, plusieurs "togglebutton" quand je clique sur l'un de ces boutons il m'ouvre un autre userform dans le code du bouton j'ai pourtant mis userform.hide mais il reste en fond quand même que faire ??
peut etre son nom
userform1.hide
mais c'est peut etre un peu simplet comme réponse. vérifie l'ordre de tes lignes de code, il doir disparaitre avant que le deuxieme n'apparraise
et ce code on peu le voir..?
bonjour, voila
Code:
1
2
3
4 Private Sub ToggleButton1_Click() LISTING.Show mat.Hide End Sub
comme te la dit alsimbad ... change l'ordre...
l'execution .Show.. et par defaut "modal" et "bloque" le code tant que l'userform est ouverte...Code:
1
2
3
4
5 Private Sub ToggleButton1_Click() mat.Hide LISTING.Show End Sub
ouai ok je vois ca demain ca semble logique
j'ai peu de temps mais avec vous j'en gagne beaucoup... des erreurs a la c.....
mais bon...
merci encore
Salut,
et je dirai même que si tu n'as plus l'utilité de ton UserForm, il faut privilégier le déchargement, comme ceci :
@++Code:Unload Me: LISTING.Show
salut
mortalino, quelle difference entre fermer l'usf et décharger l'usf ?
Salut alsimbad,Citation:
Envoyé par alsimbad
je me permet de reprendre ton terme, c'est pas fermer, mais cacher.
UserForm1.Hide = UserForm1.Visible = False.
Prend par exemple un userform, avec un textbox. Ecris dans le textbox un mot et lance l'instruction UserForm1.Hide puis UserForm1.Show.
Tu remarqueras que le texte est toujours présent dans la textbox.
Maintenant fais la même opération avec Unload, le texte ne sera plus présent.
Donc quand on a plus besoin d'un userform (ou si on en a besoin mais qu'il n'y a rien à garder en mémoire) il faut le décharger afin de libérer de la mémoire.
@++
ok alors merci, la nuance a son importance
En executant:
Où FRM_Chapitre est le Userform en cours et FRM_piece le prochain, non seulement il se cache mais il se clôture. Si j'utilise à la place:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub BTN_Valider_Click() Dim Var As Integer Var = i For i = 65000 To 29 Step -1 If Cells(i, 2).Value > 0 Then Exit For End If Next i Cells(i + 2, 1) = ComboBox1.Text Cells(i + 2, 1).Characters.Font.Bold = True Cells(i + 2, 2) = TextBox1.Text Cells(i + 2, 2).Characters.Font.Bold = True Unload Me: FRM_Chapitre.Hide FRM_Piece.Show End Sub
Unload Me: FRM_Chapitre.Show
il reste en demi-teinte au fond. En le clôturant ainsi, quand je le rappelle, il execute la sub Initialize()programmée, sinon elle ne s'éxécutaiat que la toute première fois, vu que dans mon Programme je jongle entre plusieurs Userform que j'ouvre et referme plusieurs fois.
Merci pour les animateurs de ce forum. Xaphyr