XL 2010 Sauvegarde dans un autre répertoire à la fermeture du fichier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Deliau

XLDnaute Nouveau
Bonjour,

Je souhaite qu'à la fermeture d'un fichier, une copie se créé dans un autre répertoire.

Dans VBA, j'ai donc mis ce code dans mon fichier :

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.SaveCopyAs Filename:="D:\Users\perso\Desktop\sauv\" & ThisWorkbook.Name

End Sub

Mais le fichier créé dispose aussi de ce code, et génère une erreur quand je le ferme
icon_eek.gif


Donc pour résumer :
- A la fermeture du fichier A, je souhaite qu'une copie (fichier B) se créé dans un autre répertoire
- Que le fichier B ne dispose pas de macro (un simple .xls)
- Que le fichier B soit en lecture seule

Merci de votre aide
 
Bonjour Deliau, bienvenue sur XLD,

Ce n'est pas en .xls qu'il faut enregistrer le fichier mais en .xlsx pour qu'il n'y ait pas de macro.

Et utiliser SaveAs au lieu de SaveCopyAs :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Me.SaveAs "D:\Users\perso\Desktop\sauv\" & Left(Me.Name, Len(Me.Name) - 5), 51 '51 => fichier .xlsx
End Sub
A+
 
Compte tenu de l'instruction Application.DisplayAlerts = False il n'y a pas de message s'il y a eu des modifications.

Pour que les 2 fichiers .xlsm et .xlsx soient bien identiques il faut enregistrer les modifications éventuelles :
VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
If Not Me.Saved Then Me.Save 'enregistre les modifications
Me.SaveAs "D:\Users\perso\Desktop\sauv\" & Left(Me.Name, Len(Me.Name) - 5), 51 '51 => fichier .xlsx
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour