Sauvegarde en .PDF sans remplacer le fichier précédent du même nom

znmile

XLDnaute Nouveau
Bonjour à tous,

Sous excel 2007, j'ai développé une petite macro permettant de sauvegarder une feuille en pdf dans un dossier précis, avec un nom précis.

Mon problème:
Si je réessaye de sauvegarder sous pdf via cette macro au même chemin, même nom, il remplace le précédent.
Or j'aimerais qu'il s'enregistre par exemple en "même nom - Copie" ou "même nom (1)".

Pour info, voici ma macro, lancé à partir d'un clic sur une forme présente sur la même feuille à imprimer:
Code:
Sub devis_bateau_en()

Dim Nom_Sauve As String
Dim Chemin As String

Nom_Sauve = "Devis bateau EN nom - " & Sheets("Choix - Plans").Range("B16").Value & " modèle - " & Sheets("Choix - Plans").Range("B11").Value & " - Qté - " & Sheets("Choix - Plans").Range("D16").Value & ".pdf"

Chemin = ActiveWorkbook.Path & "\devis\" & Nom_Sauve

  Sheets("Devis Bateau EN").Select
    Sheets("Devis Bateau EN").Copy
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Chemin, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True 'il y a sûrement ici une option pour empêcher de supprimer un fichier au même nom
        
         Application.DisplayAlerts = False

    ActiveWorkbook.SaveAs Filename:="C:\VPLog.xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
 ActiveWindow.Close
    Application.DisplayAlerts = True
   

End Sub

Je vous remercie tous de porter attention à mon petit soucis, et n'hésitez pas à m'envoyer ne serait-ce que des pistes !
 

tototiti2008

XLDnaute Barbatruc
Re : Sauvegarde en .PDF sans remplacer le fichier précédent du même nom

Bonjour znmile,

à tester

Code:
Sub devis_bateau_en()

Dim Nom_Sauve As String
Dim Chemin As String, Num As Long

Nom_Sauve = "Devis bateau EN nom - " & Sheets("Choix - Plans").Range("B16").Value & " modèle - " & Sheets("Choix - Plans").Range("B11").Value & " - Qté - " & Sheets("Choix - Plans").Range("D16").Value & ".pdf"

Chemin = ActiveWorkbook.Path & "\devis\" & Nom_Sauve
Num = 0
Do Until Dir(Chemin) = ""
Num = Num + 1
If Chemin Like "*(*).pdf" Then
    Chemin = Left(Chemin, InStrRev(Chemin, "(") - 1) & "(" & Num & ").pdf"
Else
    Chemin = Left(Chemin, Len(Chemin) - 4) & "(" & Num & ").pdf"
end if
Loop


  Sheets("Devis Bateau EN").Select
    Sheets("Devis Bateau EN").Copy
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        Chemin, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True 'il y a sûrement ici une option pour empêcher de supprimer un fichier au même nom
       
         Application.DisplayAlerts = False

    ActiveWorkbook.SaveAs Filename:="C:\VPLog.xls", FileFormat:=xlNormal, _
        Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
        CreateBackup:=False
 ActiveWindow.Close
    Application.DisplayAlerts = True
   

End Sub
 

JNP

XLDnaute Barbatruc
Re : Sauvegarde en .PDF sans remplacer le fichier précédent du même nom

Bonsoir Znmile :),
Pourquoi ne tout simplement pas ajouter la date et l'heure :rolleyes: ?
Code:
Format(Now(), "yyyy-mm-dd hh""h""mm")
Bonne soirée :cool:
Ajout : Salut TotoTiti ;)
 

znmile

XLDnaute Nouveau
Re : Sauvegarde en .PDF sans remplacer le fichier précédent du même nom

Bonsoir JNP!

Simple, et efficace, c'était mon idée de base, mais je voulais pas non plus que le nom de mon fichier fasse "3Km de long". Mais bien vu!

Bonsoir également à toi tititoto2008!

Je vais tester ton bout de code, merci d'y avoir réfléchi un peu en tout cas!
 

Discussions similaires

Statistiques des forums

Discussions
314 630
Messages
2 111 354
Membres
111 113
dernier inscrit
ADA1327