Re,
''...on ne quite pas l'excel...''
C'est un combat à la Don Quichotte : perdu d'avance car on peut toujours quitter l'application (et heureusement !) par Ctrl + Alt + Sup
Si tu tiens absolument à désactiver les commandes ''Quitter'', faut passer par les API :
Private Declare Function FindWindow Lib 'user32' Alias 'FindWindowA' _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DeleteMenu Lib 'user32' (ByVal xMenu As Long, _
ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Declare Function EnableWindow Lib 'user32' (ByVal hWnd As Long, _
ByVal fEnable As Long) As Long
Private Declare Function DrawMenuBar Lib 'user32' (ByVal hWnd As Long) _
As Long
Private Declare Function GetSystemMenu Lib 'user32' (ByVal hWnd As Long, _
ByVal bRevert As Long) As Long
Private Const SC_CLOSE As Long = &HF060
Sub DesactiveFermertureXL()
Dim truc&, xMenu&
'Supprime la croix
truc = FindWindow('XLMAIN', Application.Caption)
xMenu = GetSystemMenu(truc, 0)
DeleteMenu xMenu, SC_CLOSE, 0&
DrawMenuBar truc
'Désactive commande 'Quitter' menu Fichier
Application.CommandBars('Worksheet Menu Bar') _
.Controls('&Fichier').Controls('&Quitter').Enabled = False
End Sub
Sub RéactiveFermertureXL()
Dim truc&, xMenu&
'Désactive croix
truc = FindWindow('XLMAIN', Application.Caption)
xMenu = GetSystemMenu(truc, 1)
DrawMenuBar truc
'réactive commande 'Quitter' menu Fichier
Application.CommandBars('Worksheet Menu Bar') _
.Controls('&Fichier').Controls('&Quitter').Enabled = True
End Sub
C'est genre marteau-pilon pour écraser une mouche...
AV [aaa]