desactiver croix fermeture

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4483711
Bonjour.
Regarde le classeur de Stephen Bullen :
http://cjoint.com/?eBmWRfWUBm
Cordialement.
Daniel
"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



MichDenis
Le #4483661
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"
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
Mathieu
Le #4483621
salut daniel

d'accord cela focntionne avec un userform, formulaire mais en ce qui
concerne Excel en lui meme, est - il possible de désactiver le "close
button" d'excel ??

merci

Mathieu
"Daniel"
Bonjour.
Regarde le classeur de Stephen Bullen :
http://cjoint.com/?eBmWRfWUBm
Cordialement.
Daniel
"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







Daniel
Le #4483601
OK, j'avais lu ttrop vite la question...
Daniel
"Mathieu" %23aJsd$
salut daniel

d'accord cela focntionne avec un userform, formulaire mais en ce qui
concerne Excel en lui meme, est - il possible de désactiver le "close
button" d'excel ??

merci

Mathieu
"Daniel"
Bonjour.
Regarde le classeur de Stephen Bullen :
http://cjoint.com/?eBmWRfWUBm
Cordialement.
Daniel
"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











Mathieu
Le #4483591
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" %
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"
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





MichDenis
Le #4483521
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"
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
Mathieu
Le #4483501
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"
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"
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





MichDenis
Le #4483481
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"
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"
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"
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





Mathieu
Le #4483471
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" 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"
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"
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"
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










MichDenis
Le #4483431
Si tu trouves par quoi le remplacer.... tu nous le dis ?


"Mathieu" %
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" 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"
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"
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"
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










Publicité
Poster une réponse
Anonyme