XL 2013 Sauvegarde fichier back up

  • Initiateur de la discussion Initiateur de la discussion nicroq
  • Date de début Date de début

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 !

nicroq

XLDnaute Occasionnel
Bonjour a tous,

je reviens solliciter votre car il me reste une dernière chose a faire pour terminer mon code VBA.

Serait possible de faire une ssauvegarde du fichier à l'ouverture dans un dossier spécfique avec le nom du fichier + date du jour et si le fichier existe deja (car plusieurs ouverture du fichier par jour) que le fichier qui a le même nom soit sauvegardé avec nom fichier + date du jour + incrément .

Merci pour votre aide

Cordialement
 
Bonjour @nicroq , le Forum

Une solution assez simple d'emploi est d'utiliser la méthode "Workbook.SaveCopyAs" et pour le numéro d'incrément, de simplement horodater le FileName à la seconde près sans se prendre la tête pour calculer un numéro de série (!)

VB:
Option Explicit

Private Const TheFullBackUpPath As String = "C:\Users\te\Documents\XLD\BackUp\" '<<<<<<<<< à adapter !

Private Sub Workbook_Open()
Dim WB As Workbook
Dim FileName As String

Set WB = ThisWorkbook
FileName = Left(WB.Name, Len(WB.Name) - 5)
ThisWorkbook.SaveCopyAs TheFullBackUpPath & FileName & Format(Now, "YYYY-MM-DD_hh-mm-ss") & ".xlsx"

End Sub

Bonne journée
@+Thierry
 
Bonjour Nicroq, Thierry,
Un autre exemple en PJ.
J'ai pris le parti d'appeler la sauvegarde :
Sauvegarde_NomFichier_Année_Mois_Jour_Heure_Minutes_Secondes.xlsm
Ce qui évite la gestion d'indices.
il vous faut modifier la ligne : Chemin = "C:\Users\PC_PAPA\Desktop\Nicroq\Sauvegardes\" avec votre propre chemin.
 

Pièces jointes

Re Bonjour @nicroq , @sylvanu , le Forum

Ah, là c'est un peu plus compliqué, il faut faire un peu comme sur un Serveur SQL un "Maintenance Plan" avec un Disk CleanUp....

Mais l'information :
de limiter aux 10 dernières sauvegardes?
est trop peu précise, 10 enregistrements dans la même journée ? Dans la même semaine ? sur tous les enregistrements contenus dans le Folder "BackUp" ?

Pour être 100% transaparent Il faudra je pense plutôt faire un VBS de maintenance plan qui peut-être schédulé automatiquement par Windows Task Manager , il faudra des droits Local Admin en réseau pour le schéduler même Logged-Off d'un serveur la nuit, et il te faudra aussi que les Proxy/FireWall/AntiVirus laissent passer les VBS et des instructions comme "kill", qui peuvent être très mal-vues.

Sinon ce peut être fait depuis VBA, mais disons que ce sera un autre classeur et surtout pas dans le trigger de WorkBook_Open, mais avec une sorte de console d'adminstration...

Il y a plusieurs approches... (Et encore d'autres, telles que de backuper que les Data et pas les Classeurs, gain de place...)

Bien à toi, à vous
@+Thierry
 
bonjour nicrocq, bonjour sylvanu thierry bonjour le forum
à la réflexion se limiter au 10 dernières sauvegardes, suppose que l'ouverture multiple sur une journée, qui va multiplier les sauvegardes pose un problème
une réflexion :
pourquoi ne pas se limiter à une sauvegarde par jour à la première ouverture

ou alors, comme proposé dans le classeur ci-dessous, se limiter à une sauvegarde à la fermeture avec une fréquence horaire déterminée. (choisir en c2 la fréquence)
je vous propose de tester la solution du classeur ci-joint.
en a2, maintenant, date et heure, en b2 date et l'horaire à la fermeture du fichier, en c2 la fréquence horaire entre deux sauvegardes, en d2 la limite horaire avant le déclenchement d'une sauvegarde.
cordialement
galougalou
 

Pièces jointes

Dernière édition:
- 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

Réponses
134
Affichages
4 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
371
  • Question Question
Microsoft 365 Formule Outlook,
Réponses
8
Affichages
234
Réponses
16
Affichages
1 K
Retour