Enregistrement pdf avec incrémentation du nom

Signaler
-
 FlorianR -
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

Messages postés
12867
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
29 novembre 2020
2 075
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
Merci beaucoup Via55! Exactement ce dont j'avais besoin!
Encore merci :)