Renommer un PDF (date + Nom du client) grâce à une macro

Bonjour à tous,

Je me suis mis à faire des macros depuis hier et je suis une vraie quiche.

Pour cette macro, je l'ai réalisée avec l'option "Enregistrer une macro". Tout marche bien, mais j'aimerais pouvoir rajouter la date et le nom du client auquel appartient ce dossier grâce à ma macro. Ces deux informations se trouvent dans des feuilles différentes mais je peux les amener sur la feuille où se trouve la Macro ("Offre"), je pourrais les mettre en C350 et en C351.

Ainsi, j'aimerais que lorsque j'enregistre grâce à ma macro, mon PDF s'appelle par exemple "17.11.2021 John Smith.pdf", puisque je n'arrive qu'à lui donner un nom fixe (ici "test") et ne sais pas quelle formule je dois utiliser.

Merci beaucoup pour votre aide, je ne pense pas que j'aie besoin de vous donner une copie de mon document. :)

Sub PDF_Offre()

'

' PDF_Offre Macro

'

'

Range("A1:N343").Select

ActiveWindow.SmallScroll Down:=-9

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"E:\NOMENTREPRISE\PDF\test.pdf", Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

OpenAfterPublish:=True

End Sub

Bonjour, composer votre nom de fichier avant dans une variable.

Dim nompdf as string
'en supposant date en C350 et nom client en C351
nompdf= (Format(CDate(Sheets("Offre").Range("C350").Value), "dd.mm.yyyy")) & " " & Sheets("Offre").Range("C351").Value & ".pdf"

Range("A1:N343").Select

ActiveWindow.SmallScroll Down:=-9

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"E:\NOMENTREPRISE\PDF\" &nompdf, Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

OpenAfterPublish:=True

End Sub

Merci pour votre réponse, cependant je me perds un peu. Voici ce que je reçois comme réponse lorsque j'essaie cela :

Sub PDF_Offre()

Dim nompdf As String
nompdf = (Format(CDate(Sheets("3.1 - Offre").Range("C380").Value), "dd.mm.yyyy")) & " " & Sheets("3.1 - Offre").Range("C381").Value & ".pdf"

Range("A1:N343").Select

ActiveWindow.SmallScroll Down:=-9

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"E:\NOMENTREPRISE\PDF\" &nompdf, Quality:= _

xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _

OpenAfterPublish:=True

End Sub

Le "Sub PDF_Offre()" devient surligné en jaune avec une flèche à sa gauche et la partie "Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _" est surlignée en bleu avec comme message "Erreur de compilation: Erreur de syntaxe" et la ligne, tout comme les trois autres lignes qui suivent, est en rouge.

J'ai sûrement oublié de changer un élément ou mis une ligne qu'il ne fallait pas, comme le "Sub PDF_Offre() ? C'est pourtant le nom de ma macro. J'ai changé le nom de la feuille et mis les bonnes cellules. J'ai juste caché le nom de l'entreprise mais c'est les mêmes données que dont mon exemple qui marchait, donc pour ça, je ne pense pas que ce soit le problème.

Merci et désolé

Vous avez ajouté des retours à la ligne dans votre code. après un " _" il ne faut pas taper entrer pour revenir à la ligne

toute la partie selection.export doit se suivre sans retour à la ligne créé par vous même.

Sub PDF_Offre()

Dim nompdf As String
nompdf = (Format(CDate(Sheets("3.1 - Offre").Range("C380").Value), "dd.mm.yyyy")) & " " & Sheets("3.1 - Offre").Range("C381").Value & ".pdf"

Range("A1:N343").Select

ActiveWindow.SmallScroll Down:=-9

Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"E:\NOMENTREPRISE\PDF\" & nompdf, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True

End Sub

Ah merci beaucoup, je ne savais pas. Ça marche parfaitement, merci !

merci du retour

Rechercher des sujets similaires à "renommer pdf date nom client macro"