Desactiver le croix dans une userform sur VBA

stolken Messages postés 73 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 1 août 2006 - 4 août 2005 à 15:09
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009 - 28 mai 2009 à 08:16
Salut tt le monde,
Ya il un moyen de desactiver la petite croix pour fermer dans une userform ou carement de la supprimer.
Merci d'avance

5 réponses

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
4 août 2005 à 17:56
bonjour

si c'est du VBA Excel tu peux essayer

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

ps
n'oublies pas d'ajouter un autre bouton pour fermer l'USF

Unload Me

bonne soiree
michel
2
vangelis_424 Messages postés 3 Date d'inscription jeudi 7 octobre 2004 Statut Membre Dernière intervention 5 août 2005
4 août 2005 à 15:32
Salut,
Dans le proprieté du formulaire tu dois avoir "controle box" il suffit de le mettre a false.
0
stolken Messages postés 73 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 1 août 2006
4 août 2005 à 15:41
Négatif mon commandant je n'ai pas cette propriété
0
violent_ken Messages postés 1812 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 26 octobre 2010 2
4 août 2005 à 15:55
Violent Ken

Mieux vos mettre çà dans ta form :

'api pour désactiver la croix de fermeture
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long


Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&


Private Sub DesactiveX()
'désactiver croix de fermeture
On Error Resume Next
Dim hMenu As Long
Dim nCount As Long
hMenu = GetSystemMenu(Me.hwnd, 0)
nCount = GetMenuItemCount(hMenu)
Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)
DrawMenuBar Me.hwnd
End Sub


Private Sub Form_Load()
DesactiveX
End Sub
0

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

Posez votre question
psgman25 Messages postés 9 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 28 mai 2009
28 mai 2009 à 08:16
merci michel!
0
Rejoignez-nous