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:
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
Dans l’objet « ThisWorkbook »

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
Et

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 « Compte_classeurs » est accessoire et a pour objet de compter le nombre de classeurs ouverts et renvoie la variable N (Public)

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