Enregistrement automatique des macro en VBA
Résolu
jah_haile_selassie
Messages postés
61
Statut
Membre
-
jah_haile_selassie Messages postés 61 Statut Membre -
jah_haile_selassie Messages postés 61 Statut Membre -
Bonjour,
j'ai envie de faire la même chose que superjuju68; enregistrer et copier mon fichier excel toute les heures dans un repertoire différent mais je suis confronté a un problème de chemin. Lorsque j'indique un chemin différent de la où se trouve mon fichier courant j'ai une erreur de type liée a l'application ou à l'objet. Alors que quand je le fait enregistrer dans le même repertoire que le repertoire où se trouve mon fichier courant je n'ai pas d'erreur. Que faire ? voici mon code:
Private Sub Workbook_Open()
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents
Loop
Dim nom As String
nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmmss") & ".xls"
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel" & nom
GoTo debut
End Sub
Merci d'avance a toute les bonnes volontés
j'ai envie de faire la même chose que superjuju68; enregistrer et copier mon fichier excel toute les heures dans un repertoire différent mais je suis confronté a un problème de chemin. Lorsque j'indique un chemin différent de la où se trouve mon fichier courant j'ai une erreur de type liée a l'application ou à l'objet. Alors que quand je le fait enregistrer dans le même repertoire que le repertoire où se trouve mon fichier courant je n'ai pas d'erreur. Que faire ? voici mon code:
Private Sub Workbook_Open()
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents
Loop
Dim nom As String
nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "_" & Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmmss") & ".xls"
ActiveWorkbook.SaveCopyAs ActiveWorkbook.Path & "\\Ds-srv-hector\commun\DPAPH\Service Tarification\Sauvegarde temps réel" & nom
GoTo debut
End Sub
Merci d'avance a toute les bonnes volontés
Configuration: Windows XP Internet Explorer 7.0
5 réponses
-
chemin = "U:\Sauvegarde temps réel\Macro\Macro_01\"
fname = chemin & "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fname -
Bonjour,
Manque un \ dans le chemin...
Mais pour ne pas avoir une boucle permanente dans ton Timer, une autre solutionPrivate Sub Workbook_Open() Dim VV As Integer VV = TimeSerial(Hour(Time), Minute(Time) + 59, Second(Time) ) Application.OnTime VV, "timer", False End Sub
Et dans un moduleSub Timer() Dim Chemin As String Dim Nom As String Dim VV As Integer Chemin = "U:\Sauvegarde temps réel\Macro\Macro_01\" 'Pour tester que le chemin est bon... Nom = Dir(Chemin) If Nom = "" Then MsgBox " le chemin n'existe pas" Exit Sub End If Nom = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) & "_" & _ Format(Date, "dd-mm-yyyy") & "_" & Format(Time, "hhmmss") & ".xls" ActiveWorkbook.SaveCopyAs Filename:=Chemin & Nom VV = TimeSerial(Hour(Time), Minute(Time) + 59, Second(Time)) Application.OnTime VV, "timer", False End Sub
A+
-
bonsoir,
\\Ds-srv-hector fait référence à un emplacement réseau. Il ne peut-être que le début du chemin et non placé derrière le chemin du classeur actif. -
Bonjhour thev,
j'ai compris mais que dois-je faire alors? stp donne moi un exemple ou je peux mieux voir. Ce matin j'ai tenté de refer ma macro mais rien n'y fait. Lorsque j'ai mon fichier sur le bureau par exemple, il refuse de s'enregistrer là où je l'indique et s'enregistre directement sur le bureau et malgré le fait que je l'indique l'emplacement;
voic le code:
Private Sub Workbook_Open()
debut:
Start = Timer
intervalle = 60
Do While Timer < Start + intervalle
DoEvents ' Donne le contrôle à d'autres processus.
Loop
ChDir "U:\Sauvegarde temps réel\Macro\Macro_01"
fname = "test- " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & " - " & Hour(Time) & "H" & Minute(Time) & "m" & Second(Time) & "s" & ".xls"
ActiveWorkbook.SaveCopyAs Filename:=fname
GoTo debut
End Sub
Mon fichier test est sur le bureau mais je veux que les copies du fichiers test s'enregistre ici ->"U:\Sauvegarde temps réel\Macro\Macro_01"
Mais rien a faire.
Merci d'avance pour l'aide. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Merci a toi oh thev!!!!!
J'ai testé ta première solution elle marche, en effet je n'avais pas fait de déclaration de mon chemin et de mon fname et en plus j'avais des erreurs sur mon chemin. Pour la boucle j'attend encore de bien comprendre ton code pour changer ma boucle. Thank U and Jah Bless U!!!