user form

M

marie

Guest
bonjour a tous
Dans une petite application j'ai un userform avec la propriete showmodal=falsej'aimerais lorsque je change de feuille fermer userform automatiquement dans le cas ou l'on oubli de cliquer sur la petite croix

merci pour vos reponse
 

Eric C

XLDnaute Barbatruc
Bonjoir le forum
Bonjoir marie

Tu places ce code dans ta procédure de classeur afin qu'au changement d'onglet, ton Userorm se décharge :
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Unload UserForm1
End Sub

Bonne fin de dimanche à toutes & à tous ;)
 

lio

XLDnaute Occasionnel
Bonsoir Marie,

Un exemple en pièce jointe avec une macro évenementielle. [file name=Classeur2_20060212182540.zip size=9943]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20060212182540.zip[/file]

Edition: Salut Eric C : ta solution est encore mieux je pense.

Message édité par: lio, à: 12/02/2006 18:31
 

Pièces jointes

  • Classeur2_20060212182540.zip
    9.7 KB · Affichages: 22

Eric C

XLDnaute Barbatruc
Re bonjoir le forum
Re bonjoir marie, bonjoir lio

Lionel, je n'ai de leçon à donner à quiconque vu ma connaissance VBAstique mais tu appliques ton code à un classeur de 2 feuilles. Donc si Marie possède un classeur de X feuilles, le code ne fonctionnera pas au-delà de la 2 ème feuille !.
Il vaut donc mieux appliquer une macro évènementielle au classeur par lui-même.

Bonne fin de dimanche à toutes & à tous ;)

Oupsssss.. sorry & bonsoir lio.. ;)

Message édité par: Eric C, à: 12/02/2006 18:37
 
M

marie

Guest
bonsoir lio et eric

merci pour vos reponses

mais lorsque je lance l'userform j'ai une macro qui copie des donnees sur une autre feuille donc le code Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Unload UserForm1
End Sub
me creer de serieux probleme,j'aurais du mieux m'expliquer
si vous avez une solution merci encore marie
 

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir Marie, Lio, Éric, bonsoir le forum,

Marie, je pensais à utiliser une variable boléenne déclarée publique dans un module du style,Public bol as Boolean.
À la fin de la validation de ton Userform tu lui donnes la valeur True.
Tu modifies le code d'Éric par :

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If bol = True Then
Unload UserForm1
bol = False
End If
End Sub

Je n'ai rien testé c'est donc sous toutes réserves...
 
M

marie

Guest
bonsoir a tous
je reviens avec une pieces jointe
j'ai bien essayé la solution de Robert mais sans succés
merci [file name=Classeur2_20060212231735.zip size=12301]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur2_20060212231735.zip[/file]
 

Pièces jointes

  • Classeur2_20060212231735.zip
    12 KB · Affichages: 11

Robert

XLDnaute Barbatruc
Repose en paix
Bonsoir le fil, bonsoir le forum,

Marie, regarde ton fichier modifié en pièce jointe.
[file name=Marie_20060213002321.zip size=11602]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Marie_20060213002321.zip[/file]
 

Pièces jointes

  • Marie_20060213002321.zip
    11.3 KB · Affichages: 33
M

marie

Guest
bonjour robert

merci pour ta solution,mais je viens de m'apercevoir que si l'on ferme user par la croix on ne peux le relancer, j'ai compris ce qui ce passer
bol reste false,je regarderait ce soir
bonne journee a tous
 

lio

XLDnaute Occasionnel
Salut Marie et Robert,

Ci joint une proposition. [file name=Marie_20060213083528.zip size=13278]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Marie_20060213083528.zip[/file]
 

Pièces jointes

  • Marie_20060213083528.zip
    13 KB · Affichages: 18

Discussions similaires

Statistiques des forums

Discussions
312 545
Messages
2 089 487
Membres
104 183
dernier inscrit
bast.coud