empêcher la fermeture

  • Initiateur de la discussion Initiateur de la discussion Patmo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Patmo

Guest
Bonjour forum, bonjour à tous.

J'ai un petit problème d'adaptation: je m'explique.
J'utilise Excel 2002, Windows Me et je bricole un peu en VBA. Désirant empêcher la fermeture d'un classeur par quitter ou la croix, j'ai téléchargé la magnifique démo de @+Thierry nommée Classeur_infermable. Jusque là, tout va bien.

Maintenant, je désire faire la même chose chaque fois qu'Excel est ouvert (j'ai un menu personnalisé 'fermeture' qui lance une macro d'archivage de mes données).

J'ai donc essayé de mettre le code à @+Thierry dans le module ThisWorkbook du classeur de macro perso. Mais cela ne fonctionne pas (chez moi). Si je met dans ce module une simple instruction style MsgBox "Ouverture d'Excel", le message apparaît bien à chaque ouverture d'Excel. J'ai essayé aussi avec une macro auto executable, mais c'est pas gagné. J'ai peut-être des lacunes sur les bases VBA.

Quelqu'un peut-il me dire ce que je fais de faux? Avez-vous une solution?

D'avance merci beaucoup à tous ceux qui prendront un peu de leur temps pour examiner mon problème.
 
Salut tout le monde et Patmo

J'utilise un code un peu similaire dans une userform, je l'ai "bricolé" pour l'adapter à ta feuille Excel. Voici le code à mettre dans Thisworkbook :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If close_mode = vbFormControlMenu Then
MsgBox "Veuillez utiliser le menu Sortie SVP", _
vbInformation, "Avertissement"
Cancel = True
End If
End Sub

What happened if you execute this macro ?!?

Baroude
 
Salut Baroude et le forum,

Merci de m'avoir répondu mais malheureusement, .... ça ne fonctionne toujours pas (chez moi). Je peux fermer le fichier sans aucun problème.

Si t'as une autre idée, elle est bienvenue.

Merci, a+

Patmo
 
re-bonjour,

Je joins un fichier sortie.xls avec un exemple de sortie "obligatoire par macro. Dit mois ce que t'en penses parce que dans le code que j'ai mis ci dessus, je me rends compte qu'on ne peut pas sortir du tout d'excel... on aime bien Excel mais quand même ;-)

J'attends de tes nouvelles...
Baroude
 

Pièces jointes

Re-re Baroude,
merci pour ton fichier. Chez moi, y va pas trop mal. Tu es obligé de sortir par la porte que t'as prévu. En cliquant dessus, le classeur est fermé, mais pas l'application. Mais tu peux alors utiliser la croix ou le menu quitter.

Par contre, si je place ton code dans le module thisWorkbook de PERSO.XLS!, ça ne marche toujours pas! Same troubles as before!

Je commence à @3*#%&"?`!¨.

Est-ce que quelqu'un sait exactement à quoi sert le module ThisWorkbook du VBAProject (PERSO.XLS)?

Merci à toi Baroude et au forum.

Patmo
 
Salut Baroude et A_binouze_drinker_among_others,

Peut-être bien que vous avez raison, mais chez moi, ça marche toujours pas.

Je crois que je vais essayer en utilisant une simple macro auto_open ou auto_close.

Vous ne connaissez pas (par hasard) la différence entre une macro dans This_Workbook et une macro auto_exécutable?

Merci et a+

Patmo
 
Personnellement je en vois pas de différence. Les deux sont pour moi des macros évenementielles : macro exécutée suite à un évènement comme l'ouverture, la fermeture, le changement de cellule, le changement de feuille.... etc...

Dans ThisWorkbook, il faut sélectionner dans le menu déroulant au milieu en haut "Workbook" et dans le menu déroulant en haut à droite "Open".

VBA crée automatiquement une macro "Private Sub Workbook_Open()" :
macro qui s'éxécute à l'ouverture du fichier

Si tu choisis "BeforeClose" à la place de "Open" tu auras
"Private Sub Workbook_BeforeClose(Cancel As Boolean)" :
macro qui s'éxécute à la fermeture du fichier

Baroude
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour