Bonjour !

Je développe une petite appli sous Excel VBA qui ouvre un deuxième Workbook stocké dans la variable Public :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Public WBdata As Workbook
Ce que je souhaiterais c'est que lorsque l'utilisateur a fini d'utiliser mon appli, il la ferme via la croix rouge en haut à droite. Et donc que depuis cette manip', cela ferme le classeur WBdata puis ferme l'appli.

Je pourrais tout simplement utiliser Application.quit mais si l'utilisateur a d'autres classeurs d'ouverts ça lui fermera le tout et je souhaiterai éviter ça. J'essaye donc de mettre en place un bout de code de ce style :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Public Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error GoTo suite
    ThisWorkbook.WBdata.Close False
suite:
    ThisWorkbook.Save
 
    If (Workbooks.Count = 1) Then
        Application.Quit
    Else
        ThisWorkbook.Close False
    End If
End Sub
Mais je me retrouve avec mes classeurs bien fermés comme il faut, sauf qu'Excel reste ouvert quand même ! (Même si aucun autre classeur n'est ouvert)

Nom : XL_Sans_WB.png
Affichages : 695
Taille : 99,3 Ko

Comment je pourrais faire pour éviter que cela ne se produise ?

Merci de votre attention.