Registro de PDF con incremento del nombre

FlorianR -  
 ABD -
Bonjour,

Je suis novice en VBA. J'aimerais 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'aimerais 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

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

Configuration: Windows / Chrome 86.0.4240.193

2 respuestas

via55 Mensajes publicados 14387 Fecha de registro   Estado Miembro Última intervención   2 755
 
Hola Florian

Intenta reemplazar el final de tu macro por esto
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("El archivo '" & NomFichier & n & "' existe, ¿desea crear una nueva versión?", vbYesNo, "Atención") = 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

--
"La imaginación es más importante que el conocimiento." A. Einstein
2
ABD
 
Gracias infinitamente por este código.
0
FlorianR
 
¡Muchas gracias Via55! ¡Exactamente lo que necesitaba!
¡Otra vez, gracias! :)
0