Re: desactiver croix fermeture

Le
Mathieu
"Mathieu" <matoo7254@hotmail.com> a écrit dans le message de news:
> 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" <michdenis@hotmail.com> a écrit dans le message de news:
> %23qHmM7LiHHA.1624@TK2MSFTNGP06.phx.gbl
>> 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" <matoo7254@hotmail.com> a écrit dans le message de news:
>> uQDtCSLiHHA.1244@TK2MSFTNGP04.phx.gbl
>> 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
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Haïku
Le #4578741
Salut,

Essai comme cela

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Cancel = True
End Sub

Mais tu ne pourras plus fermer le classeur, donc il faut mettre en place
une echappatoire.
Un bouton par exemple, ce qui donnerai un truc du genre:

Dans un Module:
Option Explicit
Public Fermeture As Boolean

Dans ThisWorkbook:
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Fermeture = False Then Cancel = True
End Sub

Private Sub Workbook_Open()
Fermeture = False
End Sub

et dans l'evenement Click du bouton:

Private Sub CommandButton1_Click()
Fermeture = True
ThisWorkbook.Close
End Sub


Voila bon courage

++


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












JP25
Le #4578591
Bonjour,
Insere le module du fichier joint dans Vba (fichier.bas)
http://cjoint.com/?gllAl2O5pg
comme dit Haiku, trouve un echapatoire si besoin
Dans ce fichier, il y a aussi les sub réinit pour feuilles et appli
JP25
"Mathieu" OrQ0zh$

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













Publicité
Poster une réponse
Anonyme