OVH Cloud OVH Cloud

desactiver croix fermeture

12 réponses
Avatar
Mathieu
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

1 2
Avatar
Mathieu
Microsoft Access OMain
Microsoft Excel XLMAIN
Microsoft Outlook rctrl_renwnd32
Microsoft PowerPoint PP97FrameClass
Microsoft Word OpusAppmais c pour office 97 je ne trouve pas pour
2000 et 2003 a croire que ça existe plus :-("MichDenis"
a écrit dans le message de news:
%
Si tu trouves par quoi le remplacer.... tu nous le dis ?


"Mathieu" a écrit dans le message de news:
%
merci beaucoup MichDenis ça fonctionne nikel sous excel !!!!

et une chtite kestion pour la route :

si je veux l'appliquer a outlook par exmple y a moyen ???

jpense qu'il faudrait changer le "XLMAIN" de la ligne suivante :

myhWnd = FindWindow("XLMAIN", Application.Caption)

mais par quoi ??

une tite idée???

merci

mathieu

"MichDenis" a écrit dans le message de news:
Okh%
Tu as raison, une erreur de copier-coller, tu n'avais pas tous 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 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 EnleverLeX()

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

End Sub

'-----------------------------------
Private Sub RemettreLeX()

Dim myhWnd As Long, hMenu As Long

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

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





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

MichDenis

quand j'execute la macro EnleverLeX un message apparait : Erreur de
compilation : Sub ou Fonction non défini ???

As tu une idée d'où cela peut il venir ??

merci
Mathieu

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

Dans le haut d'un module Standard :


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 EnleverLeX()

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

End Sub

'-----------------------------------
Private Sub RemettreLeX()

Dim myhWnd As Long, hMenu As Long

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

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
MichDenis
Et pour Microsoft Outlook, à la suite de tes lumières, la macro devient

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 EnleverLeX()

Dim myhWnd As Long, hMenu As Long

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

End Sub

'-----------------------------------
Private Sub RemettreLeX()

Dim myhWnd As Long, hMenu As Long

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

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





"Mathieu" a écrit dans le message de news:
emt$
Microsoft Access OMain
Microsoft Excel XLMAIN
Microsoft Outlook rctrl_renwnd32
Microsoft PowerPoint PP97FrameClass
Microsoft Word OpusAppmais c pour office 97 je ne trouve pas pour
2000 et 2003 a croire que ça existe plus :-("MichDenis"
a écrit dans le message de news:
%
Si tu trouves par quoi le remplacer.... tu nous le dis ?


"Mathieu" a écrit dans le message de news:
%
merci beaucoup MichDenis ça fonctionne nikel sous excel !!!!

et une chtite kestion pour la route :

si je veux l'appliquer a outlook par exmple y a moyen ???

jpense qu'il faudrait changer le "XLMAIN" de la ligne suivante :

myhWnd = FindWindow("XLMAIN", Application.Caption)

mais par quoi ??

une tite idée???

merci

mathieu

"MichDenis" a écrit dans le message de news:
Okh%
Tu as raison, une erreur de copier-coller, tu n'avais pas tous 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 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 EnleverLeX()

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

End Sub

'-----------------------------------
Private Sub RemettreLeX()

Dim myhWnd As Long, hMenu As Long

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

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





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

MichDenis

quand j'execute la macro EnleverLeX un message apparait : Erreur de
compilation : Sub ou Fonction non défini ???

As tu une idée d'où cela peut il venir ??

merci
Mathieu

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

Dans le haut d'un module Standard :


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 EnleverLeX()

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

End Sub

'-----------------------------------
Private Sub RemettreLeX()

Dim myhWnd As Long, hMenu As Long

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

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















1 2