Sub QUITTE_ET_BACKUP_BTA() ' Ferme le programme et fait une sauvegarde BACKUP
Application.DisplayAlerts = False
ActiveWorkbook.Save
ActiveWorkbook.SaveCopyAs "E:\BACKUP BTA\" + ActiveWorkbook.Name
Application.DisplayAlerts = True
Application.Quit
End Sub
Ce code sert à fermer et créer une sauvegarde de mon fichier.
Il me remplace à chaque fermeture du fichier, le fichier sauvegardé sur le support E.
Alors ma question est la suivante;
Est ce que ce code est bien écrit d'après vous ou non. Moi j'ai l'impression qu'il est lent car il lui faut bien 13, 14 secondes pour le tout .
Mon fichier à une taille de 5,4 Mo.
Merci d'avance pour vos avis.
Cordialement Marvin57
Solution
C
Compte Supprimé 979
Re,
Comment voulez-vous qu'on vous aide si vous n'indiquez pas le message
Edit : vu, erreur d'exécution 70 : permission refusée... c'est nouveau...
Voici une version testée qui fonctionne
VB:
Sub QUITTE_ET_BACKUP_BTA() ' Ferme le programme et fait une sauvegarde BACKUP
Dim FsO As Object
Application.DisplayAlerts = False
Application.StatusBar = "Veuillez patienter, sauvegarde en cours...."
ActiveWorkbook.Save
' Copier le fichier enregistré
Set FsO = CreateObject("Scripting.FileSystemObject")
FsO.CopyFile ActiveWorkbook.FullName, "E:\BACKUP BTA\" & ActiveWorkbook.Name, True
Application.DisplayAlerts = True
Application.Quit
End Sub
La réponse est : Oui
mais vous pouvez peut-être gagner du temps en copiant simplement le fichier plutôt que de l'enregistrer sous
A tester
VB:
Sub QUITTE_ET_BACKUP_BTA() ' Ferme le programme et fait une sauvegarde BACKUP
Application.DisplayAlerts = False
Application.StatusBar = "Veuillez patienter, sauvegarde en cours...."
ActiveWorkbook.Save
' Copier le fichier enregistré
FileCopy ActiveWorkbook.FullName, "E:\BACKUP BTA\" & ActiveWorkbook.Name
Application.DisplayAlerts = True
Application.Quit
End Sub
La réponse est : Oui
mais vous pouvez peut-être gagner du temps en copiant simplement le fichier plutôt que de l'enregistrer sous
A tester
VB:
Sub QUITTE_ET_BACKUP_BTA() ' Ferme le programme et fait une sauvegarde BACKUP
Application.DisplayAlerts = False
Application.StatusBar = "Veuillez patienter, sauvegarde en cours...."
ActiveWorkbook.Save
' Copier le fichier enregistré
FileCopy ActiveWorkbook.FullName, "E:\BACKUP BTA\" + ActiveWorkbook.Name
Application.DisplayAlerts = True
Application.Quit
End Sub
Re,
Comment voulez-vous qu'on vous aide si vous n'indiquez pas le message
Edit : vu, erreur d'exécution 70 : permission refusée... c'est nouveau...
Voici une version testée qui fonctionne
VB:
Sub QUITTE_ET_BACKUP_BTA() ' Ferme le programme et fait une sauvegarde BACKUP
Dim FsO As Object
Application.DisplayAlerts = False
Application.StatusBar = "Veuillez patienter, sauvegarde en cours...."
ActiveWorkbook.Save
' Copier le fichier enregistré
Set FsO = CreateObject("Scripting.FileSystemObject")
FsO.CopyFile ActiveWorkbook.FullName, "E:\BACKUP BTA\" & ActiveWorkbook.Name, True
Application.DisplayAlerts = True
Application.Quit
End Sub
Re,
Comment voulez-vous qu'on vous aide si vous n'indiquez pas le message
Edit : vu, erreur d'exécution 70 : permission refusée... c'est nouveau...
Voici une version testée qui fonctionne
VB:
Sub QUITTE_ET_BACKUP_BTA() ' Ferme le programme et fait une sauvegarde BACKUP
Dim FsO As Object
Application.DisplayAlerts = False
Application.StatusBar = "Veuillez patienter, sauvegarde en cours...."
ActiveWorkbook.Save
' Copier le fichier enregistré
Set FsO = CreateObject("Scripting.FileSystemObject")
FsO.CopyFile ActiveWorkbook.FullName, "E:\BACKUP BTA\" & ActiveWorkbook.Name, True
Application.DisplayAlerts = True
Application.Quit
End Sub