Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

sauvegarde

  • Initiateur de la discussion Joan
  • Date de début
J

Joan

Guest
Re-bonjour le forum

Actuellement je travaille sur un fichier et je souhaiterai une sauvegarde de ce fichier toutes les dix ou vingt minutes dans un autre repertoire tout en sauvegardant celui-ci et continuer à travailler et tout ça automatiquement
et sans boîte de message.
Merci d'avance à toutes personnes qui me viendront en aide

Joan
 
M

michel

Guest
bonsoir Joan

l'exemple ci-dessous créée des copies de sauvegardes du fichier dans un repertoire specifique

les deux premieres procedures sont à placer dans ThisWorkbook pour lancer et arreter automatiquement les macros de sauvegarde

Private Sub Workbook_Open()
Call Temporisation
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Finir
End Sub



les procedures suivantes sont à placer dans un module du fichier
dans l'exemple une copie de sauvegarde est effectuée toutes les 20 minutes ( il reste à adapter le repertoire et la periode )
si tu souhaites arreter manuellement les sauvegrades , lance la procedure "Finir"


Dim Periode As Date

Sub Temporisation()
ThisWorkbook.Save ' enregistrement du fichier
ThisWorkbook.SaveCopyAs _
Filename:="C:\Documents and Settings\excel\sauvegarde " & Format(Date, "yyyy mmmm d") & " " & Format(Time, "h mm ss") & ".xls" 'copie

Periode = Now + TimeValue("00:20:00") '20 minutes
Application.OnTime Periode, "Temporisation"

End Sub

Sub Finir()
On Error Resume Next
Application.OnTime Periode, "Temporisation", , False
End Sub



bonne soirée
michel
 
J

Joan

Guest
salut Michel
je vais sur excel tout de suite
merci d'avoir répondu au message
je te tiens au courant sur l'évolution de mes sauvegarde
a bientôt
Joan
 
J

Joan

Guest
re -salut Michel
toutes tes macros fonctionnent bien
helas! toutes les vingt minutes un autre fichier est créé avec vingt minutesde plus
ne pourrait t-on pas enregistrer sur le meme fichier pour avoir qu'un seul fichier de sauvegarde
et avoir une cells exp: "a1" pour modifier la frequence d'enregistrement

merci encore d'avoir repondu a mom premier message
a+ sur le forum
Joan
 
M

michel

Guest
bonjour Joan

j'espere que la modification ci dessous repondra à ta demande . il n'y a plus qu'une copie de sauvegarde et les minutes sont à saisir dans la cellule A1


Sub Temporisation()
ThisWorkbook.Save

On Error GoTo fin

Application.DisplayAlerts = False
ThisWorkbook.SaveCopyAs _
Filename:="C:\Documents and Settings\michel\dossier\general\excel\sauvegarde.xls"
Application.DisplayAlerts = True

Periode = Now + TimeValue("00:" & Range("A1") & ":30")
Application.OnTime Periode, "Temporisation"

Exit Sub
fin:
If Err = 13 Then MsgBox "Le format de la cellule A1 n'est pas valide ." & Chr(10) & _
"Rappel : la valeur doit etre comprise entre 1 et 60 . " & Chr(10) & Chr(10) & _
"Modifiez la cellule A1 et relancez manuellement la procedure TEMPORISATION . "
End Sub

bonne journee
michel
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…