Bonjour,
je souhaiterai empêcher les utilisateurs de fermer par la croix Rouge, certains userform.
Est-ce possible ? comment et/ou par quel code ???
Bonjour,
je souhaiterai empêcher les utilisateurs de fermer par la croix Rouge, certains userform.
Est-ce possible ? comment et/ou par quel code ???
oui c'est possible en passant à true le paramétre Cancel de l'action évenemetielle QueryClose ... par exemple:
le bouton CommandButton1 est la pour permettre la fermeture...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim bAutoriseFermeture As Boolean Private Sub UserForm_Activate() bAutoriseFermeture = False End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Cancel = Not bAutoriseFermeture End Sub Private Sub CommandButton1_Click() bAutoriseFermeture = True Unload Me End Sub
ok pour ton code mais moi cela ne marche pas chez moi.
J'ai mis ton code dans mon Userform !!!
Est ce la bonne place ???
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Accueil_Activate() bAutoriseFermeture = False End Sub Private Sub Accueil_QueryClose(Cancel As Integer, CloseMode As Integer) Cancel = Not bAutoriseFermeture End Sub
il manque la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim bAutoriseFermeture As Boolean
à mettre tout en haut du code à ton userform ( variable globale.. )
non, en fait je l'ai mis aussi. Cela ne marche pas quand même. Je ne comprend pas pourquoi.
tu est sur de l'avoir bien mis..? ton userform s'appelle bien Acceuil..? place un point d'arrêt (F9) sur la ligne cancel=... histoire de voir si tu y passe bien lorsque tu clique sur la croix, et à ce moment la tu pourra vérifier la valeur de la variable bAutoriseFermetureEnvoyé par mulanzia2003
non cela ne marche pas quand je met un point d'arrêt.
J'ai essayer en mettant un msgbox.
Cela ne marche pas non plus.
Voilà le code que je test.
Dans la feuil1, un bouton avec :
Puis le code rattaché à ma UserForm1 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub CommandButton1_Click() UserForm1.Show End Sub
Merci de ton aide en tout cas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim bAutoriseFermeture As Boolean Private Sub UserForm1_Activate() bAutoriseFermeture = False End Sub Private Sub UserForm1_QueryClose(Cancel As Integer, CloseMode As Integer) Cancel = Not bAutoriseFermeture End Sub Private Sub CommandButton1_Click() bAutoriseFermeture = True Unload Me End Sub
je te joins mon fichier vous trouverez peut être une solution!!!
Bonjour,
J'ai regardé ton fichier et fais quelques test.
Mets UserForm_.... à la place de UserForm1_...
Chez moi en enlevant les "1", l'interdiction est active.
Bon courage.
Re,
J'ai fais un test sur une macro que je cré et le problème est le suivant :
Mettre :
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Sub UserForm_Activate()
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Sub Accueil_Activate()
En faisant ça devrait fonctionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Sub Accueil_QueryClose(Cancel As Integer, CloseMode As Integer)
Excellent, tout fonctionne.
En mettant simplement UserForm, cela s'applique à tous les UserForm.
Surprenant.
Encore merci de votre aide.
D'où l'intérêt de ne jamais taper les procédures événementielles.
Il vaut bien mieux les générer en utilisants les listes déroulantes de l'éditeur en ayant sélectionné le form concerné.
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager