Sauvegarde automatique

R

Rudy

Guest
Bonjour,

j'utilise actuellement un fichier excel pour réunir et conserver des données importantes.
Afin de palier à un éventuel problème, j'aimerais créer une copie de ce fichier dans un autre répertoire, de manière automatique tous les jours.
L'ideal serait de pouvoir conserver les copies des 7 derniers jours et de supprimer les autres plus vieilles.

J'ai tenté de réaliser la macro correspondante mais je n'avance pas beaucoup et malheureusement je n'ai pas trouvé de cas similaires dans le forum.

merci de votre aide
 

CBernardT

XLDnaute Barbatruc
Bonjour Rudy et Frank,

Condition et détails de l'exemple joint :

1- Afin que la sauvegarde automatique sur 7 jours fonctionne dans l'état actuel de la macro, il est nécessaire de créer au répertoire dans lequel se trouve le fichier un sous répertoire nommé 'SauvegardeFichiers'. Il remisera les sauvegardes quotidiennes.

2- La sauvegarde automatique du classeur s'effectue à la fermeture du classeur. Dans le cas où le classeur serait ouvert 2 fois ou plus, la question de son écrasement sera posée à chaque fermeture. Répondre oui !

3- Le fichier sauvegardé aura pour nom 'Sauvegarde-9-10-2005' (date du jour de sauvegarde).

Cordialement

Bernard [file name=SauvegardeQuotidienneSurSeptJoursV1.zip size=12600]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SauvegardeQuotidienneSurSeptJoursV1.zip[/file]
 

Pièces jointes

  • SauvegardeQuotidienneSurSeptJoursV1.zip
    12.3 KB · Affichages: 18
R

Rudy

Guest
Une question concernant la suppression des vieux fichiers.

j'ai constaté que si les 2 plus vieux fichier datent par exemple du 08/09/05 et du 02/10/2005, il supprime celui du 02/10.

de plus, je ne comprend pas à quoi correspond FichSauv

Merci beaucoup


Sub SupPremierFichier()
Dim Dossier As Object, FichSauv As Object
Dim Chemin As String, Nb As Byte

'Chemin du répertoire à analyser (à adapter au besoin, 'C:\\' ou 'D:\\', etc.)
Chemin = ThisWorkbook.Path & '\\SauvegardeFichiers\\'
'Répertoire du classeur contenant les sauvegardes
Set Dossier = CreateObject('Scripting.FileSystemObject').GetFolder(Chemin)
Nb = Dossier.Files.Count
For Each FichSauv In Dossier.Files
If Nb > 7 Then
FichSauv.Delete
Exit Sub
End If
Next
End Sub
 

CBernardT

XLDnaute Barbatruc
Bonjour Rudy et le forum,

Pourquoi cela efface le fichier 08/09/05 après le fichier 02/10/2005 ?

Windows place les fichiers par ordre croissant alpha. Pour résoudre ce problème, il faut mettre le mois avant le jour.

FichSauv est le nom d'une variable que j'ai inventé ! Cela pourrait être bibi ou tarzan. L'important c'est la déclaration :

Dim FichSauv as Object

Pour plus d'information sur les termes, sélectionnes dans la macro le mots à comprendre et appuies sur le bouton F1 du clavier.

Cordialement

Bernard [file name=SauvegardeQuotidienneSurSeptJoursV1_20051009111003.zip size=12778]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/SauvegardeQuotidienneSurSeptJoursV1_20051009111003.zip[/file]
 

Pièces jointes

  • SauvegardeQuotidienneSurSeptJoursV1_20051009111003.zip
    12.5 KB · Affichages: 20

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 994
Membres
104 000
dernier inscrit
dinelcia