Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Re: desactiver croix fermeture

2 réponses
Avatar
Mathieu
"Mathieu" <matoo7254@hotmail.com> a écrit dans le message de news: ...
> Salut MichDenis,
>
> toi aussi ta solution permet de désactiver la croix mais seulement pour un
> formulaire, userform mais pour Excel lui meme ???
>
> ;-)
>
> Mathieu
> "MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
> %23qHmM7LiHHA.1624@TK2MSFTNGP06.phx.gbl...
>> Tu copies ceci dans le formulaire : API dans le haut du formulaire
>>
>> 'API
>> '--------------------------------
>> Private Declare Function FindWindowA& Lib "user32" _
>> (ByVal lpClassName$, ByVal lpWindowName$)
>> Private Declare Function GetSystemMenu& Lib "user32" _
>> (ByVal hWnd&, ByVal bRevert&)
>> Private Declare Function RemoveMenu& Lib "user32" _
>> (ByVal hMenu&, ByVal nPosition&, ByVal wFlags&)
>> Private Declare Function DrawMenuBar& Lib _
>> "user32" (ByVal hWnd&)
>> '--------------------------------
>>
>> 'Si tu actives les 2 dernières commandes, tu ne pourras pas déplacer ton
>> 'formulaire lorsqu'il est ouvert :
>> '--------------------------------
>> Private Sub UserForm_Initialize()
>> Dim hWnd&, hSysMenu&
>> hWnd = FindWindowA(vbNullString, Me.Caption)
>> hSysMenu = GetSystemMenu(hWnd, 0)
>> RemoveMenu hSysMenu, &HF060, 0
>> 'RemoveMenu hSysMenu, &HF010, 0
>> 'DrawMenuBar hWnd
>> End Sub
>> '--------------------------------
>>
>>
>>
>> "Mathieu" <matoo7254@hotmail.com> a écrit dans le message de news:
>> uQDtCSLiHHA.1244@TK2MSFTNGP04.phx.gbl...
>> bonjour tout le monde,
>>
>> je sais que l'on peut le faire pour un userform mais peut on desactiver
>> la
>> croix de fermeture d'Excel
>>
>> soit en la grisonnant soit lorque l'on clique dessus rien ne se passe...
>>
>> merci a tous
>>
>> Mathieu
>>
>>
>>
>
>

2 réponses

Avatar
Haïku
Salut,

Essai comme cela

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
End Sub

Mais tu ne pourras plus fermer le classeur, donc il faut mettre en place
une echappatoire.
Un bouton par exemple, ce qui donnerai un truc du genre:

Dans un Module:
Option Explicit
Public Fermeture As Boolean

Dans ThisWorkbook:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Fermeture = False Then Cancel = True
End Sub

Private Sub Workbook_Open()
Fermeture = False
End Sub

et dans l'evenement Click du bouton:

Private Sub CommandButton1_Click()
Fermeture = True
ThisWorkbook.Close
End Sub


Voila bon courage

++


"Mathieu" a écrit dans le message de news: ...
Salut MichDenis,

toi aussi ta solution permet de désactiver la croix mais seulement pour un
formulaire, userform mais pour Excel lui meme ???

;-)

Mathieu
"MichDenis" a écrit dans le message de news:
%
Tu copies ceci dans le formulaire : API dans le haut du formulaire

'API
'--------------------------------
Private Declare Function FindWindowA& Lib "user32" _
(ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function GetSystemMenu& Lib "user32" _
(ByVal hWnd&, ByVal bRevert&)
Private Declare Function RemoveMenu& Lib "user32" _
(ByVal hMenu&, ByVal nPosition&, ByVal wFlags&)
Private Declare Function DrawMenuBar& Lib _
"user32" (ByVal hWnd&)
'--------------------------------

'Si tu actives les 2 dernières commandes, tu ne pourras pas déplacer ton
'formulaire lorsqu'il est ouvert :
'--------------------------------
Private Sub UserForm_Initialize()
Dim hWnd&, hSysMenu&
hWnd = FindWindowA(vbNullString, Me.Caption)
hSysMenu = GetSystemMenu(hWnd, 0)
RemoveMenu hSysMenu, &HF060, 0
'RemoveMenu hSysMenu, &HF010, 0
'DrawMenuBar hWnd
End Sub
'--------------------------------



"Mathieu" a écrit dans le message de news:

bonjour tout le monde,

je sais que l'on peut le faire pour un userform mais peut on desactiver
la
croix de fermeture d'Excel

soit en la grisonnant soit lorque l'on clique dessus rien ne se passe...

merci a tous

Mathieu












Avatar
JP25
Bonjour,
Insere le module du fichier joint dans Vba (fichier.bas)
http://cjoint.com/?gllAl2O5pg
comme dit Haiku, trouve un echapatoire si besoin
Dans ce fichier, il y a aussi les sub réinit pour feuilles et appli
JP25
"Mathieu" a écrit dans le message de news:
OrQ0zh$

"Mathieu" a écrit dans le message de news: ...
Salut MichDenis,

toi aussi ta solution permet de désactiver la croix mais seulement pour
un formulaire, userform mais pour Excel lui meme ???

;-)

Mathieu
"MichDenis" a écrit dans le message de news:
%
Tu copies ceci dans le formulaire : API dans le haut du formulaire

'API
'--------------------------------
Private Declare Function FindWindowA& Lib "user32" _
(ByVal lpClassName$, ByVal lpWindowName$)
Private Declare Function GetSystemMenu& Lib "user32" _
(ByVal hWnd&, ByVal bRevert&)
Private Declare Function RemoveMenu& Lib "user32" _
(ByVal hMenu&, ByVal nPosition&, ByVal wFlags&)
Private Declare Function DrawMenuBar& Lib _
"user32" (ByVal hWnd&)
'--------------------------------

'Si tu actives les 2 dernières commandes, tu ne pourras pas déplacer ton
'formulaire lorsqu'il est ouvert :
'--------------------------------
Private Sub UserForm_Initialize()
Dim hWnd&, hSysMenu&
hWnd = FindWindowA(vbNullString, Me.Caption)
hSysMenu = GetSystemMenu(hWnd, 0)
RemoveMenu hSysMenu, &HF060, 0
'RemoveMenu hSysMenu, &HF010, 0
'DrawMenuBar hWnd
End Sub
'--------------------------------



"Mathieu" a écrit dans le message de news:

bonjour tout le monde,

je sais que l'on peut le faire pour un userform mais peut on desactiver
la
croix de fermeture d'Excel

soit en la grisonnant soit lorque l'on clique dessus rien ne se passe...

merci a tous

Mathieu