Desactiver le croix dans une userform sur VBA

Signaler
Messages postés
73
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
1 août 2006
-
Messages postés
9
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
28 mai 2009
-
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

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
19
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 107 internautes nous ont dit merci ce mois-ci

Messages postés
3
Date d'inscription
jeudi 7 octobre 2004
Statut
Membre
Dernière intervention
5 août 2005

Salut,
Dans le proprieté du formulaire tu dois avoir "controle box" il suffit de le mettre a false.
Messages postés
73
Date d'inscription
mardi 19 juillet 2005
Statut
Membre
Dernière intervention
1 août 2006

Négatif mon commandant je n'ai pas cette propriété
Messages postés
1812
Date d'inscription
mardi 31 mai 2005
Statut
Membre
Dernière intervention
26 octobre 2010
1
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
Messages postés
9
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
28 mai 2009

merci michel!