Enregistrement automatique des macro en VBA

Résolu/Fermé
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009 - 6 avril 2009 à 14:28
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009 - 7 avril 2009 à 14:31
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
A voir également:

5 réponses

thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
7 avril 2009 à 11:47
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
1
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
7 avril 2009 à 12:10
Bonjour,
Manque un \ dans le chemin...
Mais pour ne pas avoir une boucle permanente dans ton Timer, une autre solution
Private 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 module
Sub 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+


1
thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
6 avril 2009 à 18:28
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.
0
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009
7 avril 2009 à 11:33
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jah_haile_selassie Messages postés 60 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 25 juin 2009
7 avril 2009 à 14:31
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!!!
0