Macro Sauvegarde + récupération

ploz

XLDnaute Occasionnel
Bonjour a tous,

je suis à la recherche d'une macro qui permettrais, que des qu'on enregistre le fichier s'enregistre dans par exemple "Documents" et en même temps s'enregistre sur mon réseaux par exemple M:\\Johan\Sauvegarde\ nomdufichier+Date du jour.xlbs tout cela par un bouton nommé Sauvegarde

et ensuite si par exemple erreur importante sur ce fichier je clique sur un bouton restauration et la je vais récupérer le fichier que je souhaite.

Merci de votre aide
 

Theze

XLDnaute Occasionnel
Re : Macro Sauvegarde + récupération

Bonjour,

Peut être sur l'évènement "BeforeSave" du classeur ? A mettre dans le module du classeur :
Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    
    Dim Sauvegarde As String
    
    'avec date et heure si plusieurs sauvegardes dans la journée
    Sauvegarde = "M:\\Johan\Sauvegarde\" & ThisWorkbook.Name & " " & Replace(Replace(Now, "/", "-"), ":", "-") & ".xlbs"
    
    ThisWorkbook.SaveAs Sauvegarde
    
End Sub
 

CBernardT

XLDnaute Barbatruc
Re : Macro Sauvegarde + récupération

Bonjour ploz, Theze et le forum,


Pour l'enregistrement et la sauvegarde, installe le code ci-dessous dans le module d'une feuille ainsi qu'un bouton de commande "CommandButton1".

Private Sub CommandButton1_Click()
Dim CheminClasseur As String, CheminSauvegarde As String
Dim Nom As String, NomSauvegarde As String, Fichier As String

' Chemin d'accès du classeur actif
CheminClasseur = ThisWorkbook.Path & "\"
' Nom du classeur actif
Nom = ActiveWorkbook.Name

' Chemin du répertoire de sauvegarde
CheminSauvegarde = "M:\Johan\Sauvegarde\"
' Nom de sauvegarde du classeur
NomSauvegarde = Left(Nom, Len(Nom) - 5) & "-" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".xlbs"
' Chemin complet du classeur de sauvegarde
Fichier = CheminSauvegarde & NomSauvegarde
' Exécution de la sauvegarde
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.DisplayAlerts = True

' Chemin complet du classeur pour son enregistrement
Fichier = CheminClasseur & Nom
' Exécution de son enregistrement
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=Fichier, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.DisplayAlerts = True
End Sub

Pour restaurer l'un des fichiers sauvegardés à date, rechercher dans le répertoire de sauvegarde le fichier qui t'intéresse, l'ouvrir puis l'enregistrer avec le même nom que le fichier que tu souhaites remplacer.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 510
Membres
103 570
dernier inscrit
patrickb83p