Bouton fermer d'un userform

Résolu
cs_inea Messages postés 23 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 3 octobre 2008 - 31 juil. 2006 à 10:38
cs_inea Messages postés 23 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 3 octobre 2008 - 31 juil. 2006 à 14:37
Bonjour,

Avant tout je tiens à m'excuser par avance de ne pas avoir su faire marcher le code existant puisque j'ai vu qu'il existait pas mal de chose à ce sujet.

Voilà je souhaiterais seulement qu'au lancement de mon formulaire la croix "fermer" ne s'affiche pas.

Je ne crois pas avoir vu de propriété a changer pour la désactiver... Faut-il que j'écrive quelque chose dans un "UserForm_Initialize" ?

Merci d'avance
Inea 

8 réponses

cs_inea Messages postés 23 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 3 octobre 2008
31 juil. 2006 à 11:49
Je n'ai pas trouvé le control box dans les propriétés du userform du coup je me suis débrouillée autrment




Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)If CloseMode vbFormControlMenu Then Cancel True
End Sub


du coup la croix est toujours là mais quand on appuie dessus ça ne ferme pas le userform
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
31 juil. 2006 à 12:11
La solution consiste à passer par les API de windows (comme expliqué dans pas mal de threads du forum) :

Private Declare Function GetSystemMenu Lib "user32" ( _
ByVal hwnd As Long, _
ByVal bRevert As Long) As Long

Private Declare Function DeleteMenu Lib "user32" ( _
ByVal hMenu As Long, _
ByVal nPosition As Long, _
ByVal wFlags As Long) As Long

Private Const MF_BYCOMMAND = &H0
Private Const SC_CLOSE = &HF060

Public Sub DisabledCloseButton(ByVal lHWndForm As Long)

Dim lMenu As Long

    Let lMenu = GetSystemMenu(lHWndForm, 0)
    Call DeleteMenu(lMenu, SC_CLOSE, MF_BYCOMMAND)

End Sub
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 juil. 2006 à 10:43
Pour supprimer tous les boutons (y compris la croix) de la barre de titre, il faut mettre la propriété ControlBox à false sur ta feuille.

Sevyc64  (alias Casy)<hr align="center" size="2" width="100%" /><stron></stron># LE PARTAGE EST NOTRE FORCE #
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
31 juil. 2006 à 10:44
Ce sujet a déjà été largement traîté dans le forum et dans les sources, tu n'as pas trouvé ton bonheur avec le moteur de recherche du site ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_inea Messages postés 23 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 3 octobre 2008
31 juil. 2006 à 11:18
Merci Casy


Et oui Dark j'ai bien cherché mais étant débutante j'ai du mal à tout suivre des fois, il me faut une explication toute simple plutot que des zip a télécharger que je comprends pas toujours :o)
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 juil. 2006 à 11:59
Dsl, Inea, la solution que je t'ai donné est valable pour VB6. Je n'avais pas percuté que tu étais en VBA.

Je ne connais pas bien VBA, mais apparenment cette propriété n'existe pas.

Mais ta solution est valable. De plus elle te permet même de rajouter un message pour dire à l'utilisateur qu'il n'a pas le droit de fermer la fenetre, qu'il est obliger de rester bosser devant.

Sevyc64  (alias Casy)<hr align="center" size="2" width="100%" /><stron></stron># LE PARTAGE EST NOTRE FORCE #
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
31 juil. 2006 à 13:47
salut,

une petite classe ici

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_inea Messages postés 23 Date d'inscription vendredi 21 juillet 2006 Statut Membre Dernière intervention 3 octobre 2008
31 juil. 2006 à 14:37
Merci bcp à tous pour vos réponses !
0
Rejoignez-nous