![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
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 |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
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 ![]() |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
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 |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
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.x ls" 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 ![]() |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|