OVH Cloud OVH Cloud

croix rouge

5 réponses
Avatar
Gerard
Bonjour
j'ai sur une feuille excel, un bouton quitter, es til possible de desactiver
la croix rouge pour obliger a utiliser mon bouton,

merci

5 réponses

Avatar
Jacques93
Bonjour Gerard,

Le code suivant ne désactive pas la croix rouge, mais bloque son
utilisation. Dans le module de ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Veuillez utiliser le bouton Quitter"
Cancel = True
End Sub

Bonjour
j'ai sur une feuille excel, un bouton quitter, es til possible de desactiver
la croix rouge pour obliger a utiliser mon bouton,

merci




--
Cordialement,

Jacques.

Avatar
michdenis
Bonjour Gérard,

Copie ce qui suit dans un module standard de ton classeur :


'Déclaration des API dans le haut du module standard.
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 hMenu 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 Desactive_Bouton_Fermerture_Excel()

Dim myhWnd As Long, hMenu As Long

'Supprime la petite croix
myhWnd = FindWindow("XLMAIN", Application.Caption)
hMenu = GetSystemMenu(myhWnd, 0)
DeleteMenu hMenu, SC_CLOSE, 0&
DrawMenuBar myhWnd

'désactive la commande "quitter" du menu Fichier
Application.CommandBars("Worksheet Menu Bar") _
.Controls("&Fichier").Controls("&Quitter").Enabled = False

End Sub

Sub active_Bouton_Fermerture_Excel()

Dim myhWnd As Long, hMenu As Long

'Remet la petite croix
myhWnd = FindWindow("XLMAIN", Application.Caption)
hMenu = GetSystemMenu(myhWnd, 1)
DrawMenuBar myhWnd

'active la commande "quitter" du menu Fichier
Application.CommandBars("Worksheet Menu Bar") _
.Controls("&Fichier").Controls("&Quitter").Enabled = True
End Sub



Salutations!




"Gerard" a écrit dans le message de news: 432d577f$0$1749$
Bonjour
j'ai sur une feuille excel, un bouton quitter, es til possible de desactiver
la croix rouge pour obliger a utiliser mon bouton,

merci
Avatar
Gerard
salut
ok pour le msgbox
mais des que je clic sur quitter
j'ai le meme msgbox et bien sur cancel=true donc je ne peux plus sortir

merci de m'eclairer
gege
"Jacques93" a écrit dans le message de news:
%
Bonjour Gerard,

Le code suivant ne désactive pas la croix rouge, mais bloque son
utilisation. Dans le module de ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Veuillez utiliser le bouton Quitter"
Cancel = True
End Sub

Bonjour
j'ai sur une feuille excel, un bouton quitter, es til possible de
desactiver la croix rouge pour obliger a utiliser mon bouton,

merci


--
Cordialement,

Jacques.



Avatar
Gerard
salut
j'ai regle le probleme avec une variable VarQuit as boolean
et ca marche parfait
bonne petite astuce
merci et bonne soirée
"Jacques93" a écrit dans le message de news:
%
Bonjour Gerard,

Le code suivant ne désactive pas la croix rouge, mais bloque son
utilisation. Dans le module de ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Veuillez utiliser le bouton Quitter"
Cancel = True
End Sub

Bonjour
j'ai sur une feuille excel, un bouton quitter, es til possible de
desactiver la croix rouge pour obliger a utiliser mon bouton,

merci


--
Cordialement,

Jacques.



Avatar
michdenis
Bonjour Gérard,

Si tu veux utiliser cette méthode, tu dois recourir à une variable "Public" déclarée dans un module Standard

Public Sortie As Boolean

Dans ta procédure de ton bouton permettant de fermer ton application (classeur), tu ajoutes ceci :

Sortie = True


Et dans la procédure du ThisWorkbook :
'--------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

If sortie = False Then
Cancel = True
End If

End Sub
'--------------------


Salutations!



"Gerard" a écrit dans le message de news: 432db266$0$27420$
salut
ok pour le msgbox
mais des que je clic sur quitter
j'ai le meme msgbox et bien sur cancel=true donc je ne peux plus sortir

merci de m'eclairer
gege
"Jacques93" a écrit dans le message de news:
%
Bonjour Gerard,

Le code suivant ne désactive pas la croix rouge, mais bloque son
utilisation. Dans le module de ThisWorkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "Veuillez utiliser le bouton Quitter"
Cancel = True
End Sub

Bonjour
j'ai sur une feuille excel, un bouton quitter, es til possible de
desactiver la croix rouge pour obliger a utiliser mon bouton,

merci


--
Cordialement,

Jacques.