Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Enlever un UserFom

4 réponses
Avatar
Guy72
Bonjour,
Dans les" Feuil4" et "Feuil5", avec un bouton je fais apparaître mon
"UserFormR".
Quand je quitte ces "Feuil4 et 5" et que je vais sur la "Feuil1", mon
"UserFormR" est toujours là,Y a t-il une possibilité de le faire disparaître
dès que je vais sur la "Feuil1" sans avoir à cliquer sur la croix ?
Merci de votre aide
--
Cordialement
Guy

4 réponses

Avatar
JPMonnier
Bonsoir,
je ne sais pas sur quelle version Excel tu es, mais en théorie, quand un UF
est actif, tu ne peux pas sélectionner une autre feuille que par VBA

--
Cordialement

"Guy72" a écrit dans le message de
news:%
Bonjour,
Dans les" Feuil4" et "Feuil5", avec un bouton je fais apparaître mon
"UserFormR".
Quand je quitte ces "Feuil4 et 5" et que je vais sur la "Feuil1", mon
"UserFormR" est toujours là,Y a t-il une possibilité de le faire
disparaître dès que je vais sur la "Feuil1" sans avoir à cliquer sur la
croix ?
Merci de votre aide
--
Cordialement
Guy



Avatar
MichDenis
ll y a plusieurs possibilités, cela dépend de ton programme :

A ) tu peux utiliser cet événement dans le ThisWorkbook

Sh.CodeName représente la propriété "Name" de chaque
'objet feuille présent dans la fenêtre de l'éditeur de code.

'---------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Select Case Sh.CodeName
Case "Feuil1", "Feuil3"
UserForm1.Show 0
Case "Feuil2"
UserForm1.Hide
End Select

End Sub
'---------------------------------------

B ) Il y a aussi l'événement inverse toujours dans le thisworkbook
'---------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

End Sub
'---------------------------

C ) ET tu peux utiliser les 2 mêmes événements mais pour chacune
des feuilles de ton classeur (à mettre dans leur code module respectif)
'-------------------------------
Private Sub Worksheet_Activate()
UserForm1.Hide
End Sub
'-------------------------------
Private Sub Worksheet_Deactivate()

End Sub
'-------------------------------

"Guy72" a écrit dans le message de groupe de discussion :
#
Bonjour,
Dans les" Feuil4" et "Feuil5", avec un bouton je fais apparaître mon
"UserFormR".
Quand je quitte ces "Feuil4 et 5" et que je vais sur la "Feuil1", mon
"UserFormR" est toujours là,Y a t-il une possibilité de le faire disparaître
dès que je vais sur la "Feuil1" sans avoir à cliquer sur la croix ?
Merci de votre aide
--
Cordialement
Guy
Avatar
MichDenis
Seul le formulaire de la version Excel 97 ne permet
pas d'office d'afficher un formule dans une fenêtre
non modale
La seule commande possible pour excel 97 :
Userform1.Show -> fenêtre modale
(mais que la chose soit possible à l'aide d'API)

Toutes les autres versions d'excel, on peut utiliser
la commande :
Userform1.Show 0 -> fenêtre non modale



"JPMonnier" a écrit dans le message de groupe de discussion :

Bonsoir,
je ne sais pas sur quelle version Excel tu es, mais en théorie, quand un UF
est actif, tu ne peux pas sélectionner une autre feuille que par VBA

--
Cordialement

"Guy72" a écrit dans le message de
news:%
Bonjour,
Dans les" Feuil4" et "Feuil5", avec un bouton je fais apparaître mon
"UserFormR".
Quand je quitte ces "Feuil4 et 5" et que je vais sur la "Feuil1", mon
"UserFormR" est toujours là,Y a t-il une possibilité de le faire
disparaître dès que je vais sur la "Feuil1" sans avoir à cliquer sur la
croix ?
Merci de votre aide
--
Cordialement
Guy



Avatar
Guy72
Bonjour MichDenis
Ok ça marche pour moi, merci de ton aide.
--
Cordialement
Guy
"MichDenis" a écrit dans le message de news:

ll y a plusieurs possibilités, cela dépend de ton programme :

A ) tu peux utiliser cet événement dans le ThisWorkbook

Sh.CodeName représente la propriété "Name" de chaque
'objet feuille présent dans la fenêtre de l'éditeur de code.

'---------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

Select Case Sh.CodeName
Case "Feuil1", "Feuil3"
UserForm1.Show 0
Case "Feuil2"
UserForm1.Hide
End Select

End Sub
'---------------------------------------

B ) Il y a aussi l'événement inverse toujours dans le thisworkbook
'---------------------------
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)

End Sub
'---------------------------

C ) ET tu peux utiliser les 2 mêmes événements mais pour chacune
des feuilles de ton classeur (à mettre dans leur code module
respectif)
'-------------------------------
Private Sub Worksheet_Activate()
UserForm1.Hide
End Sub
'-------------------------------
Private Sub Worksheet_Deactivate()

End Sub
'-------------------------------

"Guy72" a écrit dans le message de groupe de discussion :
#
Bonjour,
Dans les" Feuil4" et "Feuil5", avec un bouton je fais apparaître mon
"UserFormR".
Quand je quitte ces "Feuil4 et 5" et que je vais sur la "Feuil1", mon
"UserFormR" est toujours là,Y a t-il une possibilité de le faire
disparaître
dès que je vais sur la "Feuil1" sans avoir à cliquer sur la croix ?
Merci de votre aide
--
Cordialement
Guy