XL 2013 Enrigistrer en format PDF une page active d'excel avec une VBA

Maellou47

XLDnaute Nouveau
Bonjour,
J'aimerais créer une macro qui me permette d'enregistrer en PDF chaque commande que je fais.
Chaque pdf enregistré aurait le numéro de commande pour titre et se trouverait sur le bureau.
Je n'arrive malheureusement pas à trouver le bon code VBA...
Est ce que quelqu'un pourrait me venir en aide?
 

Pièces jointes

  • commande 2.xlsm
    248.3 KB · Affichages: 77
  • commande 2.xlsm
    248.3 KB · Affichages: 190

Roland_M

XLDnaute Barbatruc
Re : Enrigistrer en format PDF une page active d'excel avec une VBA

bonsoir,

voir avec ce code:

Code:
NomFeuil$ = "nom de la feuille"
NomFichier$ = "nom du fichier.pdf" ' avec date > Format(Now() - 0, "dd_mmmm_YY") & ".pdf"
DossierSauvegarde$ = "e:\documents" ' ou  Sheets("X").Range("A1")
CheminFichier$ = DossierSauvegarde$ & "\" & NomFichier$
'Export feuille
Sheets(NomFeuil$).ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichier$, Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
 

Maellou47

XLDnaute Nouveau
Re : Enrigistrer en format PDF une page active d'excel avec une VBA

Merci pour votre réponse!!
Je suis novice en VBA et je n'ai pas très bien compris ce que je dois remplacer....
Sachant que je veux que le nom du pdf soit "commande n°" avec le numéro de commande qui se trouve en B14 de la feuille6.
Je veux que le document pdf s'enregistre sur le bureau soit: C:\Users\maëlle\Desktop
Que dois-je faire?
 

Roland_M

XLDnaute Barbatruc
Re : Enrigistrer en format PDF une page active d'excel avec une VBA

bonsoir,

faire un essai avec ceci:
il suffit de le placer dans un module et de taper F5 pour l'exécuter !
si ok il suffira de mettre un bouton sur une feuille pour l'exécuter !

j'ai mis Feuil6 voir si c'est bien ce nom !?

Code:
Sub SaveFeuilPDF()
NomFeuil$ = "Feuil6" '<<<<<<<<<<<<<<<<<
NomFichier$ = "Commande No" & Sheets(NomFeuil$).Range("B14") & ".PDF" ' <<<<<<<<<<<<<
DossierSauvegarde$ = "C:\Users\maëlle\Desktop" '<<<<<<<<<<<<<<<
'Export feuille
If Right(DossierSauvegarde$, 1) <> "\" Then DossierSauvegarde$ = DossierSauvegarde$ & "\"
CheminFichier$ = DossierSauvegarde$ & NomFichier$
Sheets(NomFeuil$).ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichier$, Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
 

Roland_M

XLDnaute Barbatruc
Re : Enrigistrer en format PDF une page active d'excel avec une VBA

Bonjour,

mais enfin Maellou, c'est quand même pas compliqué à comprendre, tout est dans le message d'erreur !
tu as mis ceci> Option Explicit, donc il suffisait que tu fasses une déclaration des variables !
comme ceci > Dim NomFeuil$, NomFichier$, DossierSauvegarde$, CheminFichier$

Code:
Sub SaveFeuilPDF()
Dim NomFeuil$, NomFichier$, DossierSauvegarde$, CheminFichier$
NomFeuil$ = "Feuil6" '<<<<<<<<<<<<<<<<<
NomFichier$ = "Commande No" & Sheets(NomFeuil$).Range("B14") & ".PDF" ' <<<<<<<<<<<<<
DossierSauvegarde$ = "C:\Users\maëlle\Desktop" '<<<<<<<<<<<<<<<
'Export feuille
If Right(DossierSauvegarde$, 1) <> "\" Then DossierSauvegarde$ = DossierSauvegarde$ & "\"
CheminFichier$ = DossierSauvegarde$ & NomFichier$
Sheets(NomFeuil$).ExportAsFixedFormat Type:=xlTypePDF, Filename:=CheminFichier$, Quality:=xlQualityStandard, _
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End Sub
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal