Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Suppression fichier avant fermeture d'Excel

1 réponse
Avatar
Jean-Luc CAPEL
Bonjour à tous,

Je reviens un peu à la charge, car mon 1er post n'avait pas obtenu de
réponse satisfaisante. Certainement que ma demande n'était pas assez
précise.
Alors voilà un cas d'école.
J'ai 2 classeurs :
un de données,
un autre contenant que mes modules de programmation.

La clôture de l'application doit :
fermer le classeur de données,
puis supprimer ce classeur sur le disque,
et enfin, s'il n'existe pas d'autres classeurs ouverts, quitter Excel, sinon
fermer le classeur programme.

Cette clôture peut survenir :
soit par l'appui sur un bouton "Quitter" d'une barre d'outils personnalisée
affecté à une proc de mon classeur programme,
soit par la fermeture manuel du classeur de données (Menu Fichier/ Fermer ou
Croix [X] de la fenêtre du classeur de donées)
soit enfin par la fermeture d'Excel (Menu Fichier/ Quitter ou Croix [X] de
la fenêtre d'Excel)

Dans les 2 1er cas, j'arrive en VBA à supprimer le fichier de données de mon
disque.
Dans le dernier cas, Excel donne automatiquement la main à l'événement de
fermeture du classeur programme avant celui du classeur de données, ce qui
m'empêche de supprimer le classeur de données sur le disque.

En résumé, existe t'il une solution pour inverser les événements de
fermeture des classeurs lorsque l'on quitte Excel ?

Merci de vos réponses et ou suggestions.

JLuc

1 réponse

Avatar
michdenis
Bonjour Jean-Luc,


Dans ton classeur contenant la programmation, tu insères dans le ThisWorkbook de ce dernier ceci:

Tu adaptes le nom du classeur contenant les données dans la procédure.

'-----------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Nom As String
Dim Wk As Workbook
Set Wk = Workbooks("NomClasseurDonnées.xls")
If Not Wk Is Nothing Then
Nom = Wk.FullName
Wk.Close
Kill Nom
If Workbooks.Count = 1 Then
Application.Quit
End If
End If
End Sub
'-----------------------------------


Salutations!



"Jean-Luc CAPEL" a écrit dans le message de news:
Bonjour à tous,

Je reviens un peu à la charge, car mon 1er post n'avait pas obtenu de
réponse satisfaisante. Certainement que ma demande n'était pas assez
précise.
Alors voilà un cas d'école.
J'ai 2 classeurs :
un de données,
un autre contenant que mes modules de programmation.

La clôture de l'application doit :
fermer le classeur de données,
puis supprimer ce classeur sur le disque,
et enfin, s'il n'existe pas d'autres classeurs ouverts, quitter Excel, sinon
fermer le classeur programme.

Cette clôture peut survenir :
soit par l'appui sur un bouton "Quitter" d'une barre d'outils personnalisée
affecté à une proc de mon classeur programme,
soit par la fermeture manuel du classeur de données (Menu Fichier/ Fermer ou
Croix [X] de la fenêtre du classeur de donées)
soit enfin par la fermeture d'Excel (Menu Fichier/ Quitter ou Croix [X] de
la fenêtre d'Excel)

Dans les 2 1er cas, j'arrive en VBA à supprimer le fichier de données de mon
disque.
Dans le dernier cas, Excel donne automatiquement la main à l'événement de
fermeture du classeur programme avant celui du classeur de données, ce qui
m'empêche de supprimer le classeur de données sur le disque.

En résumé, existe t'il une solution pour inverser les événements de
fermeture des classeurs lorsque l'on quitte Excel ?

Merci de vos réponses et ou suggestions.

JLuc