Code suppression macros lors d'un backup

Bonjour le Forum,

Je viens à vous pour un problème lors d'un backup d'un fichier "xlsm".

En effet j'utilise un code qui fonctionne très bien pour enregistrer un fichier à heure fixe dans un folder "backup" tout en laissant le fichier ouvert.

Je voudrais lors de la sauvegarde, que le fichier s'enregistre de telle façon qu'à l'ouverture future aucune macros ne fonctionnent.

J'ai essayé de transformer la ligne de code en changeant l'extension "xlsm en xlsx" mais lorsque j'essaye d'ouvrir le fichier de sauvegarde, un message me dit qu'il n'est pas possible d'ouvrir le fichier car il a été endommagé.

Merci d'avance pour votre aide et bonne journée à tous.

Private Sub Workbook_Open()

Application.OnTime TimeValue("08:32:00"), "Enregistrer_Auto"

End Sub

Mon module

Option Explicit

Sub Enregistrer_Auto()

Dim CheminCopie As String, Fichier As String

'Répertoire pour la sauvegarde journalière

CheminCopie = "C:\Users\XXX\Documents\Backup test\"

Fichier = "Sauvegarde_du_ " & Format(Date, "ddmmyyyy") & "_" & ".xlsm"

ActiveWorkbook.SaveCopyAs CheminCopie & Fichier

End Sub

Bonjour,

peut-être comme ceci

Option Explicit
Sub Enregistrer_Auto()
Dim CheminCopie As String, Fichier As String
'Répertoire pour la sauvegarde journalière
CheminCopie = "C:\Users\XXX\Documents\Backup test\"
Fichier = "Sauvegarde_du_ " & Format(Date, "ddmmyyyy") & "_" & ".xlsm"
Application.DisplayAlerts = False 
ActiveWorkbook.SaveCopyAs CheminCopie & Fichier, FileFormat:=xlOpenXMLWorkbook 

Bonjour M12,

Je viens de placer le code dans le fichier et lors de compiler, il me surligne "SaveCopyAs" et j'ai le message d'erreur suivant:

Erreur compilation.

Nombre d’arguments incorrect ou affectation de propriété incorrecte

Merci pour ton aide.

Bonjour à tous,

A priori, la méthode "SaveCopyAs" ne gère pas le format.

Ci-joint une proposition à tester :

> sauvegarde du fichier au format xlsm

> ouverture du fichier sauvegardé

> ré-engistrement au format xlsx

> suppression de la sauvegarde xlsm

Un peu tordu, peut-être que quelqu'un a mieux

Bonne journée

Bouben

EDIT :

Répertoire de copie modifié => répertoire "Backup test" à créer si inexistant

 CheminCopie = ThisWorkbook.Path & "\Backup test\"

Bonjour bouden.

Merci de te pencher sur ma demande.

Je viens de tester ce code et je reçois le message chemin d'accès introuvable et suite clic debogage:

oFSO.CopyFile ThisWorkbook.Path & "\" & ThisWorkbook.Name, CheminCopie & Fichier & ".xlsm"

A bientôt

Effectivement, cf EDIT du post plus haut

La sauvegarde est créée dans un sous-répertoire "Backup test" au même niveau que le fichier principal

=> à re-tester après création du répertoire (ou indiquer en dur un autre répertoire dans le code)

Bouben

Bonjour à tous,

Pour éviter le double enregistrement :

Sub Enregistrer_Auto()
    Dim CheminCopie As String, Fichier As String, wb As Workbook
    Dim i As Long
    Application.ScreenUpdating = False
    Sheets(1).Copy
    Set wb = ActiveWorkbook
    For i = 2 To ThisWorkbook.Sheets.Count
        ThisWorkbook.Sheets(i).Copy After:=wb.Sheets(wb.Sheets.Count)
    Next i
    'Répertoire pour la sauvegarde journalière
    'CheminCopie = "C:\Users\XXX\Documents\Backup test\"
    CheminCopie = ThisWorkbook.Path & "\"
    Fichier = "Sauvegarde_du_ " & Format(Date, "ddmmyyyy") & "_" & ".xlsx"
    Application.DisplayAlerts = False
    wb.SaveAs CheminCopie & Fichier, FileFormat:=xlOpenXMLWorkbook
    Application.DisplayAlerts = True
    wb.Close True
End Sub

eric

Salut eriiic,

Merci pour ta proposition,

Cela fonctionne parfaitement. Pourrais-tu me dire si il est possible avec ce code d'enregistrer ce fichier dans un serveur. En effet avec ton code on a la sauvegarde dans le même répertoire et au boulot je devrais le placer vers une autre.

CheminCopie = "\\beeucofs02\shared_data\OPERATION\Zone Dispatching\Workbook\"

Merci déjà pour ton aide.

Pas de raison que tu ne puisses pas l'enregistrer où tu veux.

Si le chemin avec \\ ne lui plait pas tente avec la lettre du lecteur.

eriiic,

Encore une fois tu m'as bien aidé et je t'en remercie.

Très bonne après-midi et au plaisir de te lire.

Bien à toi

Rechercher des sujets similaires à "code suppression macros lors backup"