Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer les 2 croix de fermeture

4 réponses
Avatar
choke
Bonjour toutes et tous,

Je viens de me faire une petite appli sur XL avec une
macro spécifique pour la fermeture et enregistrement du fichier.

Cependant je voudrai rendre inopérantes les deux croix de fermeture
1- celle de XL
2-celle de mon fichier
pour que l'utilisateur final ne puisse pas faire autrement que de passer
par ma macro.

Comment faire en vba ?

Merci pour vos réponses

4 réponses

Avatar
lSteph
Bonjour,
Il serait peut-être plus simple
(quoiqu'on puisse aussi désactiver les évennements)
de gèrer cela dans le Thisworkbook avec Private sub beforeclose,
à savoir que lors de la fermeture
par l'utilisateur ce soit ta macro qui soit appelée.

choke a exprimé avec précision :
Cependant je voudrai rendre inopérantes les deux croix de fermeture
1- celle de XL
2-celle de mon fichier
pour que l'utilisateur final ne puisse pas faire autrement


Amha ce genre de méthode est peine perdue,
il vaut mieux laisser le choix à l'utilisateur et dans ce contexte lui
rendre beaucoup plus favorable de choisir ce que tu as prévu qu'il
doive faire.

En l'occurence, même si on interdit la croix , il restera et
heureusement entre autres,
alt+F4, et si le programmeur a fait mieux:
alt+tab qui permet de passer d'une application à une autre,
puis le clic droit dans la barre des taches pour afficher le
gestionnaire des tâches, on peut ainsi interrompre une application ou
un processus. Egalement le bon vieux Ctrl+Alt+Suppr ou même éteindre
et rallumer l'ordinateur.

Cdlt.

lSteph

choke a exprimé avec précision :
Bonjour toutes et tous,

Je viens de me faire une petite appli sur XL avec une
macro spécifique pour la fermeture et enregistrement du fichier.

Cependant je voudrai rendre inopérantes les deux croix de fermeture
1- celle de XL
2-celle de mon fichier
pour que l'utilisateur final ne puisse pas faire autrement que de passer
par ma macro.

Comment faire en vba ?

Merci pour vos réponses


--
- -

Avatar
Pounet95
Bonjour,
Supprimer les croix de fermeture, je ne sais pas.....
Peut-être avec les API ????
Sinon, en VBA, dans ton classeur :

dans le module Thisworkbook :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Me
If .Saved = False Then
rep = MsgBox("Enregistrer les changements dans " & Me.Name & "
?", vbYesNo)
If rep = vbNo Then
.Saved = True
End If
End If
End With
End Sub


.... devrait faire l'affaire , non ?
Bon dimanche après-midi
Pounet95

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

Bonjour toutes et tous,

Je viens de me faire une petite appli sur XL avec une
macro spécifique pour la fermeture et enregistrement du fichier.

Cependant je voudrai rendre inopérantes les deux croix de fermeture
1- celle de XL
2-celle de mon fichier
pour que l'utilisateur final ne puisse pas faire autrement que de passer
par ma macro.

Comment faire en vba ?

Merci pour vos réponses


Avatar
choke
Merci lSteph pour ta solution hyper simple
quoique faut il encore y penser par la maîtrise XL.

ça marche.

Les novices on a trop tendance à monter
une "usine à gaz"

Merci aussi à Pounet95 et bon dimanche
Avatar
choke
En scrutant un peu, j'y suis allé par la méthode de ChrisV
Cancel = not bye
puis une macro
Sub Quitter()
bye = True
ThisWorkbook.Close
End Sub

ça me va bien, merci à vous tous