Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Vérifier code

Marvin57

XLDnaute Occasionnel
Bonjour tout le monde,

j'ai une question concernant le code ci-joint.

VB:
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
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

Mais la prochaine fois soyez plus EXPLICITE
C

Compte Supprimé 979

Guest
Bonjour Marvin57

13s pour une fichier de 5,4Mo sauvegardé 2 fois, ça ne me parait pas long du tout
Il suffirait d'ajouter une petite fenêtre d'information à la rigueur

A+
 
C

Compte Supprimé 979

Guest
Re,

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

A+
 
Dernière modification par un modérateur:

Marvin57

XLDnaute Occasionnel
Re,

alors je viens d'essayer le code, mais il me place la ligne "
FileCopy ActiveWorkbook.FullName, "E:\BACKUP BTA\" + ActiveWorkbook.Name
en jaune et je ne sais pas si on devrait voir cela mais il n'affiche pas le texte de la StatusBar "
Veuillez patienter, sauvegarde en cours....
Merci A+
 
C

Compte Supprimé 979

Guest
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

Mais la prochaine fois soyez plus EXPLICITE
 
Dernière modification par un modérateur:

Marvin57

XLDnaute Occasionnel
Bonjour BrunoM45,

je suis vraiment désolé, je pensais que mon explication suffisait ! Oups !
C'est promis la prochaine fois je m'appliquerai.

J'ai mis en place votre code modifié et tout fonctionne très bien maintenant.

Je vous Remercie pour votre aide et votre patience.

A une prochaine fois peut-être.

Marvin57
 

Discussions similaires

Réponses
7
Affichages
558
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…