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