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 -
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
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    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
  2. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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
  3. thev Messages postés 2010 Date d'inscription   Statut Membre Dernière intervention   723
     
    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
  4. jah_haile_selassie Messages postés 61 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jah_haile_selassie Messages postés 61 Statut Membre
     
    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