Macro pour enregistrer en ecrasant une version existante

Bonjour,

J’enregistre mes fichier en PDF dans un répertoire grâce à une macro qui incrémente comme ceci :

Contact__09.02.2015 V.pdf

Contact__15.02.2015 V2.pdf

Contact__15.02.2015 V3.pdf

J’aimerais une autre macro qui enregistre le PDF en écrasant automatiquement la version la plus élevé (V3) sachant que la date elle peut être différente.

Ci-dessous voici en essai une partie de mon code mais malheureusement il ne fonctionne pas !

Mes connaissances en VBA sont trop limitées ! Merci pour votre aide.

Chemin = "O:\DEV & Q PRODUITS\PDF généré\"
    'Chemin = ThisWorkbook.Path & "\" 'plus facile pour tester

    date_test = Format([M1], "dd.mm.yyyy")

   If Dir(Chemin & [f1] & "__* V3.pdf") = "" Then
      NomFichier = [f1] & "__" & date_test & " V3.pdf"

         Else
            If Dir(Chemin & [f1] & "__* V2.pdf") = "" Then
            NomFichier = [f1] & "__" & date_test & " V2.pdf"

         Else
                If Dir(Chemin & [f1] & "__* V3.pdf") = "" Then
                NomFichier = [f1] & "__" & date_test & " V.pdf"    
    End If
    End If
    End If

    Set JobPDF = CreateObject("PDFCreator.clsPDFCreator"

Bonjour Fred2705 le forum

déjà une remarque simple si tu veux classer tes fichiers dans l'ordre commence par les nommer trucmachin 2015.02.05 V1 etc

là au moins le dernier fichier trucmachin sera bien en dernière position et sera facile à trouver

Maintenant moi je ne comprend pas trop ton affaire tu veux remplacer le dernier V3 OK mais après tu veux le nommer comment??

dans l'attente

a+

Papou

Merci pour ta réponse,

Pour résumer:

J'ai besoin d'avoir deux macro:

La première qui enregistre en V, V2, V3,

C'est celle ci dessous, mais si je comprend ce que tu dis paritec il faudrait plutôt V1, V2, V3

J'ai essayé mais je n'y arrive pas!

Sub PdfCreator_connecteur()
Dim Chemin$, date_test$, NomFichier$, i&, JobPDF As Object

    Chemin = "O:\DEV & Q PRODUITS\1 - DEVELOPPEMENT PRODUITS\Calculations prix\PDF généré\2015\"
    'Chemin = ThisWorkbook.Path & "\" 'plus facile pour tester

    date_test = Format([M1], "dd.mm.yyyy")

    If Dir(Chemin & [P1] & "__" & [f1] & "__* V.pdf") = "" Then
      NomFichier = [P1] & "__" & [f1] & "__" & date_test & " V.pdf"
    Else
      i = 2
      While Dir(Chemin & [P1] & "__" & [f1] & "__* V" & i & ".pdf") <> ""
        i = i + 1
      Wend
      NomFichier = [P1] & "__" & [f1] & "__" & date_test & " V" & i & ".pdf"
    End If

    Set JobPDF = CreateObject("PDFCreator.clsPDFCreator")

    With JobPDF
        .cStart "/NoProcessingAtStartup"
        .cOption("UseAutosave") = 1
        .cOption("UseAutosaveDirectory") = 1
        .cOption("AutosaveDirectory") = Chemin
        .cOption("AutosaveFilename") = NomFichier
        .cOption("AutosaveStartStandardProgram") = 1
        .cOption("UpdateInterval") = 0
        .cOption("AutosaveFormat") = 0
        .cClearCache
    End With

    ActiveSheet.PrintOut copies:=1, ActivePrinter:="PDFCreator"

    Do Until JobPDF.cCountOfPrintjobs = 1
        DoEvents
    Loop
    JobPDF.cPrinterStop = False

    Do Until JobPDF.cCountOfPrintjobs = 0
        DoEvents
    Loop

    JobPDF.cClose
    Set JobPDF = Nothing
End Sub

La seconde qui est identique à la première mais qui enregistre en écrasant la version la plus élevée

Merci pour votre aide!

Re Fred 2705 le forum

non j'ai pas écrit cela !!!!

j'ai dit que pour chercher la version la plus ancienne, si tu commences par changer ta date en YYYY-MM-DD tu auras ton dernier fichier V3 ou V2 ou V qui sera en dernière position de tes fichiers V V2 V3

Maintenant ce que tu veux faire c'est quoi???????????

si tu as un fichier nommé trucbidule 2015-01-25 V3 et que aujourdhui tu veux écraser ce fichier c'est avec quoi ???

un fichier qui sera admettons trucbidule 2015-02-16 V3 c'est cela???

a+

Papou

Ok merci Papou. J ai reussi a résoudre mon problème.

Merci pour ton aide

Re Bonjour Fred2705 le forum

merci de bien vouloir cocher la coche Résolu STP

bonne journée

a+

Papou

Rechercher des sujets similaires à "macro enregistrer ecrasant version existante"