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

Intedire fermeture Excel

2 réponses
Avatar
michelon.a
J'aurais voulu savoir comment on peut enlever la croix de fermeture excel ou
détecter la fermeture de excel

Pour info : système d'exploitation WinNT

Merci d'avance

2 réponses

Avatar
Hervé
Salut,

Pour empécher la fermeture d'Excel :

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

Sub PasFermer()
Dim Fermer As Boolean

Fermer = True
'croix de fermeture
DeleteMenu GetSystemMenu( _
Application.hwnd, Fermer), 6, 1024

'menu Quitter
Application.CommandBars("Worksheet Menu Bar") _
.Controls("&Fichier") _
.Controls("&Quitter").Enabled = Fermer
End Sub

Si c'est pour un classeur particulier :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("Voulez-vous vraiment quitter Excel ?", _
vbQuestion + vbYesNo, _
"Quitter.") = vbYes Then
Cancel = False
Else
Cancel = True
End If
End Sub

Tu peux essayer dans le classeur Perso.xls en mettant cette proc dans le
module du classeur (j'ai pas testé, plus le temps !!!).

Hervé.

""
@discussions.microsoft.com> a écrit dans le
message news:
J'aurais voulu savoir comment on peut enlever la croix de fermeture excel
ou

détecter la fermeture de excel

Pour info : système d'exploitation WinNT

Merci d'avance


Avatar
YannX
Bonsoir,

Bravo : effectivement, il 'suffit' d'aller "débrancher" les commandes de
fermeture,
telles qu'affichées par le modèle de fenêtres de Windows.

Est-ce aussi simple de désactiver tous les menus sauf,
Imprimer et Graphiques......
J'imagine que cette fois, il s'agit plutôt de désactiver
par l'intérieur d'Excel...

Merci pour l'exemple si finalisé

YannX

"Hervé" a écrit dans le message de
news:
Salut,

Pour empécher la fermeture d'Excel :

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

Sub PasFermer()
Dim Fermer As Boolean

Fermer = True
'croix de fermeture
DeleteMenu GetSystemMenu( _
Application.hwnd, Fermer), 6, 1024

'menu Quitter
Application.CommandBars("Worksheet Menu Bar") _
.Controls("&Fichier") _
.Controls("&Quitter").Enabled = Fermer
End Sub

Si c'est pour un classeur particulier :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("Voulez-vous vraiment quitter Excel ?", _
vbQuestion + vbYesNo, _
"Quitter.") = vbYes Then
Cancel = False
Else
Cancel = True
End If
End Sub

Tu peux essayer dans le classeur Perso.xls en mettant cette proc dans le
module du classeur (j'ai pas testé, plus le temps !!!).

Hervé.

""
@discussions.microsoft.com> a écrit dans le
message news:
J'aurais voulu savoir comment on peut enlever la croix de fermeture
excel


ou
détecter la fermeture de excel

Pour info : système d'exploitation WinNT

Merci d'avance