lie un mesage quand on clique sur le x

S

sioli

Guest
bonjour a tous

je voudrais savoir si possible,de montrée un mesage quand on veux cliquée sur le x en haut a droite celui de fermeture excel .

dont au lieu de fermer l'excel, je montre un mesage , ou affichage un MsgBox bien sur en + desactiver la croix à droite dans le menu et méme je direr + desactiver les 3 boutons en haut a droite.

ps: reponse a certaine question pourquois je veut desactiver ces boutons.

j'ai une page que lon doit remplir ( page de controle ) ,mais des petit malin trouve pas mieu de sortir de l'excel pour ne pas remplir cette pas dont pas de page pas de controle .

j'ai passe plus de temp a mèttre de barrière dans cette page ,que de programmé celle-ci.

mais on arrive toujour a trouver comment quitte le programme dous ma demande comment ploque cette page mais en mème temp j'affiche le mésage.

merci pour votre reponsse.
 

Dull

XLDnaute Barbatruc
Salut Sioli, Avé...AV, le Forum

Regardes ce fichier peut-être qu'il pourrait te servir

en résumer si les conditions ne sont pas remplis, la fermeture du fichier sera impossible (par les moyens normaux :ermm:... 'Fichier -- Fermer','Fichier--Quitter', croix en haut à droite...) [file name=Sioli1.zip size=13841]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Sioli1.zip[/file]
 

Pièces jointes

  • Sioli1.zip
    13.5 KB · Affichages: 23
A

AV

Guest
Re,

Il serait prudent de pas faire référence à ''ActiveSheet'' mais de définir précisément avec par ex:
if [counta(Feuil1!B2:B3)]inférieur à 3 Then...blabbla...

Ceci je ne pense qu'il soit utile de sortir l'armada mais bon... à chacun de voir

AV [aaa]
 
S

sioli

Guest
bonjours a tous

Outils --- Protection --- Classeur --- Cocher ''Fenêtres'' n'est pas mauvais ,mais je peux toujours quiter l'excel par la x en haut a droite.

j'aurais bien voulus a ce stade que des con clique sur le x un mesage apparait et qu'on ne quite pas l'excel.

merci pour les reponsse.
 
A

AV

Guest
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]
 

Discussions similaires

S
Réponses
4
Affichages
1 K
sioli
S

Statistiques des forums

Discussions
312 231
Messages
2 086 438
Membres
103 209
dernier inscrit
MIKA33260