Macro export PDF vers bureau utilisateurs

Bonjour,

Je souhaite créer une macro pour enregistrer une partie de ma feuille excel en PDF sur le bureau des utilisateurs qui utiliseront le fichier.

Pour cela, j'ai:

  • définit la zone d'impression
  • créer un bouton
  • enregistré une macro
  • affecté la macro au bouton

Cependant, la macro ne fonctionne pas...

J'ai bien compris en regardant différents postes, que le bureau est lié à l'utilisateur et donc qu'il y a un code spécifique à saisir pour que la macro fonctionne. Mais je n'y arrive pas!

Je suis sous Windows 10 entreprise et on utilise Microsoft office 365 proplus version 2002.

Voici la macro :

Sub ExportPdfClient()

'

' ExportPdfClient Macro

'

'

user = Environ("username")

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

"C:\Users\" & user & "\Desktop\" & Range("J6").Value & Range("AI6").Value & ".pdf", Quality:=xlQualityMinimum _

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

True

'J6 est le nom du client dans la feuille et AI6 est la date

MsgBox "Le PDF a été gégénré sur le bureau"

End Sub

Merci d'avance pour votre aide

Léa

Bonjour

pour l'enregistrement sur le bureau de l'utilisateur qui utilise le fichier j'utiliserais ceci :

chemin = Environ("USERPROFILE") & "\desktop\" & Range("J6").Value & Range("AI6").Value & ".pdf"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=chemin, Quality:=xlQualityMinimum _ , IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

Attention si il y a une date dans le nom fichier il est probable qu'il y a des "/" comme séparateur... il faut les supprimer car "/" est un caractère interdit dans les noms de fichier...

donc si c'est le cas, on remplace par quoi ?? des tirets "-" ou "_", rien ??

Fred

Bien vu Fred

Je venais également de tomber sur le même raisonnement.

un nom de fichier avec 27/05/2020 ne va pas être accepté.

une variante devrait résoudre ton problème: Le nom du document sera donc J6 et la date mais avec des traits d'union.

Sub ExportPdfClient()
'
' ExportPdfClient Macro
'
Dim MONDOCUMENT As String
Dim CHEMIN As String

CHEMIN = "C:\Users\" & Environ("username") & "\Desktop\"
MONDOCUMENT = Range("J6").Value & "-" & Day(Range("AI6").Value) & "-" & Month(Range("AI6").Value) & "-" & Year(Range("AI6").Value) & ".pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
CHEMIN & MONDOCUMENT, Quality:=xlQualityMinimum _
, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
True

'J6 est le nom du client dans la feuille et AI6 est la date

MsgBox "Le PDF a été généré sur le bureau"

End Sub
Rechercher des sujets similaires à "macro export pdf bureau utilisateurs"