Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Vba-Workbook BeforeClose

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 !

philppe27

XLDnaute Occasionnel
Bonjour,

Dans le fichier X j'ai 2 programmes situés dans Thisworkbook :
Private Sub Workbook_Open()
Private Sub Workbook_BeforeClose(Cancel As Boolean)
et qui fonctionnent très bien lorsque j'ouvre et je ferme le fichier X

Dans mon fichier Y j'ai un le code suivant dans un programme:
Workbooks.Open Filename:=X
cela fonctionne correctement puisqu'après avoir ouvert le fichier X le programme Private Sub Workbook_Open() se déclenche sans problème

Dans ce même fichier Y j'ai le code :
Workbooks(X).Close SaveChanges:=True
mais dans ce cas le programme Private Sub Workbook_BeforeClose(Cancel As Boolean) de X ne se déclenche pas avant la fermeture du fichier

Où est mon erreur ? Sinon comment déclencher ce programme avant la fermeture du fichier X ?

Merci d'avance,

Cordialement
 
Re : Vba-Workbook BeforeClose

Bonjour à tous,
mais dans ce cas le programme Private Sub Workbook_BeforeClose(Cancel As Boolean) de X ne se déclenche pas avant la fermeture du fichier

Où est mon erreur ?
mais il n'y a pas d'erreur puisqu'il faut fermer le fichier pour déclencher la macro
Sinon comment déclencher ce programme avant la fermeture du fichier X ?
il suffit de recopier le code à un autre endroit et d'y faire appel au moment ou tu le désires......................... mais sans explications plus claires de ta part et sans fichier joint, il sera difficile de te répondre

à+
Philippe
 
Re : Vba-Workbook BeforeClose

Bonsoir à toi, aux participants, et à ceux qui passeront par ici.

Il faut fuir comme la peste les Actions à l'ouverture et à la fermeture d'un Classeur..... Sauf si...

Dans une application totalement élaborée!
on peut créer un évènement par bouton, image, dans USF, et autres.

Ou: ActiveWorkbook.Close
Ou: ActiveWorkbook.Save
Ou: ActiveWorkbook.Saved = True

Suivant ce que l'on souhaite faire

Dans le BeforeClose, hormis d'autres actions bien particulières
je ne vois pas bien la raison d'y fiche son nez!

Amicalement.

Yann
 
Dernière édition:
Re : Vba-Workbook BeforeClose

Bonsoir le fil,

Voir l'aide en ligne sur la méthode Close de l'objet Workbook:

AideExcel à dit:
Fermer un classeur à partir de Visual Basic n'entraîne pas l'exécution d'une macro AutoClose dans le classeur. Utilisez la méthode RunAutoMacros pour l'exécuter.

Magique F1! Non?

A+
 
Re : Vba-Workbook BeforeClose

Bonjour le Fil, Je vois que ma question n'est plus d'actualité depuis bien longtemps, mais moi je commence seulement et je ne comprends pas grand chose à tous ces commentaires. J'utilise le menu Affichage, Macro, Enregistrer une macro, en Before close.
Première question :Tous les exemples de macro ont pour nom "workbook" : L'appellation Workbook est elle obligatoire ou est-ce un exemple ?
Je cherche à enregistrer dans une colonne "Record" la valeur mini jamais entrée dans la colonne "Score". Pour éviter une référence circulaire de la fonction =Mina, je l'éxécute sur une colonne de sauvegarde que je recopie dans la colonne "Record" par une macro "Record_BeforeClose". Mais la fermeture de l'application ne déclenche apparemment pas la macro. d'autre part lorsque j'ajoute "(Cancel as Bolean)" "afficher la macro" ne la reconnait plus, bien qu'elle soit toujours dans module(1) Merci de votre analyse sur le ficher joint
 

Pièces jointes

Dernière modification par un modérateur:
- 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

Discussions similaires

Réponses
41
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…