Bonsoir le forum,
J’ai 2 classeurs Classeur_A.xls et Classeur_B.xls
Une macro de Classeur_A.xls ouvre, modifie et sauve Classeur_B.xls.
Or, Classeur_B.xls ne peut se fermer que par l’activation d’un bouton placé sur la page d’accueil de celui-ci. De plus, ce bouton demande la sauvegarde du classeur (B).
(La croix de fermeture de Classeur_B.xls est désactivée)
Dans Classeur_B.xls, figurent les codes suivants :
Le code du bouton placé dans la feuille « Accueil » du projet VBA:
Dans l’objet « ThisWorkbook »
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Btn_Bye_Click() Application.Run ("Thisworkbook.Fermeture") End Sub
Et
Code : Sélectionner tout - Visualiser dans une fenêtre à part Private Quitter As Boolean
Et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Workbook_BeforeClose(Cancel As Boolean) If Not Quitter Then MsgBox "Veuillez utiliser le bouton Quitter" Cancel = True End If End Sub
La macro ici appelée « Compte_classeurs » est accessoire et a pour objet de compter le nombre de classeurs ouverts et renvoie la variable N (Public)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Public Sub Fermeture() Dim wk As Workbook EnableSystemMenu Quitter = True Compte_classeurs If MsgBox("Voulez-vous enregistrer ce fichier", vbYesNo) = vbYes Then ThisWorkbook.Save Application.DisplayAlerts = False If N = 1 Then Application.Quit Else ActiveWorkbook.Close (False) End If End Sub
La macro ici appelée « EnableSystemMenu » gère, avec une autre « DisableSystemMenu », la croix de fermeture.
(Bien entendu, cette partie n’a pas été développée par moi.)
Ma question : Dans cette configuration, y-a-t-il malgré tout un moyen (code) de fermer Classeur_B.xls sans le sauver depuis Classeur_A.xls, en passant donc outre l’alerte ci-dessus "Veuillez utiliser le bouton Quitter"
Merci pour votre aide.
Marcel
Partager