Suppression d'un fichier excel par macro

Résolu/Fermé
rgtahiti Messages postés 60 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 9 juillet 2015 - 21 mai 2008 à 14:46
rgtahiti Messages postés 60 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 9 juillet 2015 - 22 mai 2008 à 14:03
Bonjour,
Je souhaiterais supprimer un fichier excel lors de la fermeture d'un autre fichier excel.
Je rencontre des soucis car le fichier que je cherche à supprimer n'existe pas toujours, et il n'est pas toujours ouvert.
Voilà ce que j'ai tenté :

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Application.DisplayAlerts = False
        Workbooks("fichier.xls").Close
        Kill "fichier.xls"
    Application.DisplayAlerts = True

End Sub

Je vous remercie par avance.

1 réponse

onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120
21 mai 2008 à 15:15
Est ce que ceci te conviendrait ?

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.DisplayAlerts = False

' Ferme le classeur s'il est ouvert
For Each classeur In Workbooks
If classeur.Name = "Fichier.xls" Then
classeur.Close
End If
Next

' Supprime le fichier Fichier.xls
On Error Resume Next
Kill "fichier.xls"
On Error GoTo 0

Application.DisplayAlerts = True

End Sub
0
rgtahiti Messages postés 60 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 9 juillet 2015
21 mai 2008 à 17:21
parfait
merci beaucoup
0
rgtahiti Messages postés 60 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 9 juillet 2015
22 mai 2008 à 11:46
Bonjour,

J'ai un nouveau problème : le classeur que je cherche à fermer et supprimer est créé et nommé selon la macro suivante :

 ActiveSheet.Select
    ActiveSheet.Copy
    ChDir "C:"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\classeur " & ActiveSheet.Range("A1").Value & ".xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False


Cette macro se trouve dans le classeur qui commande la fermeture et la suppression de "classeur (A1).xls".
Le nom de fichier "classeur (A1).xls" est donc variable.
Je ne sais pas comment réinjecter ce nom dans la procédure "Private Sub Workbook_BeforeClose(Cancel As Boolean)" décrite ci-dessus.

En espérant avoir été clair.
0
onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008 120 > rgtahiti Messages postés 60 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 9 juillet 2015
22 mai 2008 à 11:53
Il suffit de changer "fichier.xls" par "classeur" & Range("A1").value & ".xls" dans Workbook_BeforeClose, non ?
0
rgtahiti Messages postés 60 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 9 juillet 2015 > onesdf Messages postés 375 Date d'inscription mercredi 21 mai 2008 Statut Membre Dernière intervention 17 octobre 2008
22 mai 2008 à 14:03
ben si, mais ça me paraissait pas si évident que ça
merci bien onesdf

ps: j'ai une question sans réponse, est-ce que ça vous dérangerait d'y jeter un oeil ?
http://www.commentcamarche.net/forum/affich 6522531 envoi de mail depuis excel
0