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 !

degap05

XLDnaute Impliqué
Bonjour, avec le code suivant, placé dans ThisWorkBook:

'configuration sauvegarde automatique
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False

ThisWorkbook.SaveAs "E:\xxx\ttt\qqq\uuu\Mes documents\MDSH\Sauvegarde\" & "MDSH" & Format(Now, " dd-mm-yy ""à"" hh""h""mm""mn""") & ".xls"
'message de réussite
MsgBox "Une sauvegarde de secours, de MDSH, a été effectuée avec succés !" _
& vbCrLf & " " & vbCrLf & "Emplacement: E:\xxx\ttt\qqq\uuu\Mes documents\MDSH" _

Application.DisplayAlerts = True
End Sub


j'effectue des sauvegardes incrémentées sur l'heure.
Pensez-vous qu'il soit possible de limiter le nombre de sauvegarde à 3 dans le dossier de sauvegarde ?
Le résultat serait que la quatrième sauvegarde écrase la plus ancienne et ainsi de suite🙂

Merci
 
Re : Sauvegarde

Bonjour,

C'est vrai qu'en utilisation ordinaire, cela a peu de chance de se produire.
Pourtant, comme j'ai choisi hh,mn comme extension de fichier, si je quitte dans la même minute, il m'est indiqué qu'un fichier existe déjà et si je veux l'écraser ou pas. Et là il y a une possibilité de refuser l'enregistrement et c'est à ce moment que le déboggage se met en route. Dons si un utilisateur se trouve dans cette situation, il ne saura pas quoi faire.
Il faudrait qu'en toute circonstance, le fichier se ferme avec un message d'alerte éventuellement, du genre:" Vous ne pouvez pas sauvegarder plusieurs fois dans la même minute, veuillez recommencer".

Salut
 
Re : Sauvegarde

Re bonjour,

De plus, quand le mois change, le programme veut détruire le fichier ouvert!!!.
C'est normalement réglé.
J'ai ajouté le message que tu as demandé.
Vois si ça te conviens.

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application.FileSearch
    .LookIn = "E:\Forum Excel-Download\Test\"
    .FileType = msoFileTypeExcelWorkbooks
    .Filename = "MDSH*"
    .Execute
    If .FoundFiles.Count = 3 Then
        If FileDateTime(.FoundFiles(1)) < FileDateTime(.FoundFiles(2)) _
        And FileDateTime(.FoundFiles(1)) < FileDateTime(.FoundFiles(3)) Then
            Kill .FoundFiles(1)
        ElseIf FileDateTime(.FoundFiles(2)) < FileDateTime(.FoundFiles(1)) _
        And FileDateTime(.FoundFiles(2)) < FileDateTime(.FoundFiles(3)) Then
            Kill .FoundFiles(2)
        Else
            Kill .FoundFiles(3)
        End If
    End If
End With
On Error Resume Next
ThisWorkbook.SaveAs Filename:="E:\Forum Excel-Download\Test\" & "MDSH" & Format(Now, " dd-mm-yy ""à"" hh""h""mm""mn""") & ".xls"
'ThisWorkbook.SaveAs Filename:="E:\Pharma\Secrétariat\Dossiers personnels\M.MORGAND\Mes documents\Sauv\" & "MDSH" & Format(Now, " dd-mm-yy ""à"" hh""h""mm""mn""") & ".xls"
If Err.Number <> 0 Then
    MsgBox "Vous ne pouvez pas sauvegarder plusieurs fois dans la même minute, veuillez recommencer.", vbCritical
    Cancel = True
Else
    MsgBox "Sauvegarde effectuée!"
End If


End Sub
 
- 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

Retour