XL 2016 [VBA] [RESOLU] Copie dans un autre répertoire à la fermeture

Zazouha95

XLDnaute Nouveau
Bonjour,
Je souhaite pouvoir copier mon fichier Excel dans un autre répertoire au moment où je quitte mon fichier excel.

J'ai utilisé ceci :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.SaveCopyAs Filename:="D:\Mes Documents\" & "monfichier.xlsm"
End Sub

Malheureusement, c'est mon fichier à l'identique qui s'y copie... et donc quand on le ferme, la macro s'exécute, et provoque une erreur VBA.

J'ai donc tenté de modifier ma macro ainsi :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.SaveCopyAs Filename:="D:\Mes Documents\" & "monfichier.xlsx"
End Sub

Evidemment, ça n'a pas marché.........

Avez-vous une idée pour m'aider svp ?

Merci par avance et bonne fin de journée !
 

danielco

XLDnaute Accro
Bonjour,

Il faut que tu codes la ligne "Cancel = True" pour arrêter le processus avant de faire la sauvegarde et fermer le fichier :

VB:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
  Cancel = True
  ThisWorkbook.SaveCopyAs...
  Application.EnableEvents = False
  ThisWorkbook.Close
  Application.EnableEvents = True
End Sub

Daniel
 

Zazouha95

XLDnaute Nouveau
Bonjour,

Merci pour votre réponse mais malheureusement, ça ne marche toujours pas. En effet, lorsque j'ouvre la copie de mon fichier :

Si je nomme le fichier monfichier.xlsx --> message d'erreur sur le format/extension
Si je nomme le fichier monfichier.xlsm --> toujours une erreur VBA

Merci de votre aide.
 

danielco

XLDnaute Accro
Tu ne peux pas changer le type du fichier copié. Si le fichier est .xlsm, tu dois le copier en .xlsm. Sinon, poste ton code en indiquant le nom de ton classeur initial. Indique également les libellés et numéros des messages d'erreur.

Daniel
 

Zazouha95

XLDnaute Nouveau
Rebonjour,

J'ai finalement opté pour :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
If Not Me.Saved Then Me.Save
Me.SaveAs "D:\Mes documents\" & "Monfichier", 51
'51 => fichier .xlsx
End Sub

Mon fichier est copié en .xlsx sur un autre répertoire.
Merci encore pour vos réponses !
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA