Excel 2019- vba-Sauvegardes Multiples avec limitation du nombre

Excel 2019- vba-Sauvegardes Multiples avec limitation du nombre - VB/VBA/VBS - Programmation

Marsh Posté le 09-03-2023 à 15:19:46    

Tout d'abord  ..Bonjour à tous.
 
Je travaille sous Excel 2019 PC  et j'ai besoin de sauvegarder à des endroits différents un classeur.
J'ai trouvé sur un site un code VBA mais j'ai besoin que les copies avec dates et heures soient limitées à 4 pas plus.
 
Mon premier dossier c:\travail\base   est celui sur lequel je travaille , pour celui-ci est nommé 'fichier.xlsm' tout simplement.
Le deuxième dossier c:\travail\base\save est la deuxième save , elle doit avoir la date et l'heure (09.03.2023- 14h30mn-fichier.xslm).
Le troisième dossier  d:\travail\base\save est la troisième  save avec la date et l'heure (09.03.2023- 14h30mn-fichier.xslm).
 
Je travaille sur le premier où je rentre mes modifications tous les jours. je sauve les autres saves suivent.
Le deuxième est une sauvegarde pour moi..en cas.
La troisième part dans un autre service.
 
Pourquoi une limitation de 4 . Pour ne pas encombrer les dossiers.
Comme cela je peux revenir en arrière en cas de problème. (il m'arrive de sauvegarder 2 fois si je suis déranger, c'est pour cela que je besoin de 4 limitations.)
Mon classeur fait 650k0
Si vous avez la solution j'en serais rvi, mes connaissances en VBA sont réduites.
 
RDBAL41  


Message édité par gilou le 11-03-2023 à 14:35:16
Reply

Marsh Posté le 09-03-2023 à 15:19:46   

Reply

Marsh Posté le 13-03-2023 à 15:36:02    

Re bonjour,
Concernant mon problème, j'ai trouvé ce code,mais cela ne fonctionne pas.
Avez-vous une idée.
Merci  
 
 
Sub test()
    savefichier "c:\Images\Trav\"
    savefichier "c:\Images\Trav\Trav1\"
    savefichier "c:\Images\Trav\Trav2\"
End Sub
 
Sub savefichier(Chemin$)
' PatrickToulon
    Dim dat As Date, f, a&, oldfich$
    Chemin = Chemin & "\"
    BaseName = "monfichier"
    dat = Now()
    f = Dir(Chemin & "monfichier*.xls*" )
    Do While f <> ""
        a = a + 1
        fdt = CDate(FileDateTime(Chemin & f))
        If f <> ThisWorkbook.Name Then If fdt < dat Then dat = CDate(fdt): oldfich = Chemin & f
        f = Dir
    Loop
    If a >= 3 Then Kill oldfich
    ThisWorkbook.SaveCopyAs Chemin & BaseName & "_" & Format(Now, "dd-mm-yyyy hh""H""mm""m""ss" ) & ".xlsm"
    ActiveWorkbook.Save
End Sub

Reply

Marsh Posté le 24-03-2023 à 17:33:45    

Bonjour, juste expliquez exactement avec détails ce que la procédure doit accomplir …

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed