Suppression d'un fichier excel par macro

Résolu
rgtahiti Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -  
rgtahiti Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

1 réponse

onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention   120
 
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   Statut Membre Dernière intervention  
 
parfait
merci beaucoup
0
rgtahiti Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   120 > rgtahiti Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   > onesdf Messages postés 375 Date d'inscription   Statut Membre Dernière intervention  
 
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