Enregistrement pdf avec incrémentation du nom

FlorianR -  
 ABD -
Bonjour,

Je suis novice en VBA. J'aimerai effectuer l'enregistrement d'une feuille en pdf (avec ouverture à l'enregistrement) qui s'incrémente à chaque enregistrement XXXXV1, XXXXV2, ...
Actuellement, j'ai réussi à pouvoir effectuer l'enregistrement dans un dossier dédié, avec le nom voulu, via un bouton dans la feuille en question.
Lors d'un enregistrement suivant, j'ai mis en place une msgbox vbYesNo qui s'ouvre et me dit que ce fichier existe déjà, et si je veux enregistrer une nouvelle version. J'aimerai que lors d'une réponse Oui, il enregistre en incrémentant le fichier. Et lors d'une réponse Non, il n'enregistre pas.
Pour l'instant je sèche.
Le code est pour l'instant :

Sub PlanningSalle_SAVE()

LaDate1 = Format(Range("I8"), "dd" & "." & "mm" & "." & "yyyy")
LaDate2 = Format(Range("P8"), "dd" & "." & "mm" & "." & "yyyy")
I = "1"
NomFichier = ("Planning Salle du " & LaDate1 & " au " & LaDate2 & "_V")

Dim Fichier As String

Fichier = Dir("C:\GestionResto\Planning Salle\" & NomFichier & I & ".pdf")

If Fichier <> "" Then

MsgBox "Le fichier '" & Fichier & "' existe, voulez-vous créer une nouvelle version?", vbYesNo, "Attention"

If vbYes Then

I = I + 1

End If
End If

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\GestionResto\Planning Salle\" & NomFichier & I & ".pdf", Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
From:=1, To:=1, OpenAfterPublish:=True

End Sub

Mervi d'avance si vous pouvez me filer un coup de main...

Configuration: Windows / Chrome 86.0.4240.193

2 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour Florian

    Essaye de remplacer la fin de ta macro par ceci
    chemin="C:\GestionResto\Planning Salle\"
    Fichier = Dir(chemin & NomFichier & "*" & ".pdf")
    n = 0
    
    Do While Fichier <> ""
    n = n + 1
    Fichier = Dir
    Loop
    
    If n > 0 Then
    If MsgBox("Le fichier '" & NomFichier & n & "' existe, voulez-vous créer une nouvelle version?", vbYesNo, "Attention") = vbNo Then Exit Sub
    End If
    
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    chemin & NomFichier & n+1 & ".pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=True 

    Cdmnt
    Via
    2
    1. ABD
       
      Merci Infinement pour ce code
      0
  2. FlorianR
     
    Merci beaucoup Via55! Exactement ce dont j'avais besoin!
    Encore merci :)
    0