Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro creation pdf

  • Initiateur de la discussion Initiateur de la discussion greg954
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

greg954

Guest
Bonjour a tous

j'ai trouver ce code pour imprimer un fichier pdf:

Sub ToPdf()

Set pdfjob = CreateObject("PDFCreator.clsPDFCreator")
NomExcel = ThisWorkbook.Name
NomPdf = Left(NomExcel, Len(NomExcel) - 4) & ".pdf"
With pdfjob
If .cstart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize PDFCreator.", vbCritical + vbOKOnly, "PrtPDFCreator"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutisaveDirectory") = 1
.cOption("AutosaveDirectory") = ThisWorkbook.Path
.cOption("AutosaveFilename") = NomPdf
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ThisWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
With pdfjob
.cDefaultprinter = DefaultPrinter
.cClearCache
.cClose
End With
Set pdfjob = Nothing
End Sub


1-J'aimerai modifier cette macro pour que le nom du pdf soit la valeur de la cellule a1 et a2
2-serait possible d'indiquer le repertoire d'enregistrement du fichier pdf dans la macro

merci de votre aide
Greg
 
Re : macro creation pdf

Bonjour Greg954 🙂,
Je n'ai pas PDFCreator pour tester, mais c'est marrant, il me semblait que tu ne pouvais ni choisir le nom du fichier, ni définir l'emplacement du fichier avec 😕...
Mais bon, si ta macro fonctionne, c'est le principal 😉...
Le nom du fichier est défini dans la ligne
Code:
NomPdf = Left(NomExcel, Len(NomExcel) - 4) & ".pdf"
donc il te suffit de modifier
Code:
NomPdf = Range("A1") & Range("A2") & ".pdf"
mais attention, il faut qu'il n'y ait pas de caractère interdit dans les celllules A1 et A2 😱...
Pour le chemin, il est défini ici
Code:
.cOption("AutosaveDirectory") = ThisWorkbook.Path
donc pour un chemin en dur, il suffit de mettre
Code:
.cOption("AutosaveDirectory") = "C:\temp\test"
par exemple 😀.
Bon dimanche 😎
 
Re : macro creation pdf

Bonjour,
Je me suis permis de copier les lignes du code de greg car très interressant , mais comment définir uniquement l'impression de la feuille 1 par exemple .Est-ce ce sur la ligne "NomExcel = ThisWorkbook.Name"("feuill1") ?
malgré plusieurs essais je suis sec .

Merci
 
Re : macro creation pdf

Re 🙂,
Non, ce serait plutôt
Code:
ThisWorkbook.PrintOut copies:=1, ActivePrinter:="PDFCreator"
à corriger avec
Code:
ThisWorkbook.Sheets("Feuil1").PrintOut copies:=1, ActivePrinter:="PDFCreator"
mais non testé comme expliqué précédement 🙄...
Bon courage 😎
 
Re : macro creation pdf

Bonsoir,

Je vais testé ça;Sinon j'ai éssayé avec pdf créator après l'avoir installé ça marche nickel .Après j'ai voulu éssayer avec cute pdf en modifiant ( voir ci dessous en rouge) mais là j'ai un message d'erreur VB me disant que les licenses sont introuvables .
J'ai surement fais une erreur ? Donc je vais chercher encore .
mais si vous avez une piste je suis preneur

Bonne soirée

Sub ToPdf()

Set pdfjob = CreateObject("CutePDFWriter.clfCutePDFWriter")
NomExcel = ThisWorkbook.Name
NomPdf = Range(" A17") & Range("B17") & ".pdf"
With pdfjob
If .cstart("/NoProcessingAtStartup") = False Then
MsgBox "Can't initialize CutePDFWriter.", vbCritical + vbOKOnly, "CutePDFWriter"
Exit Sub
End If
.cOption("UseAutosave") = 1
.cOption("UseAutisaveDirectory") = 1
.cOption("AutosaveDirectory") = "C:\Documents and Settings\HP_Propriétaire.NOM-\Mes documents\pdf"
.cOption("AutosaveFilename") = NomPdf
.cOption("AutosaveFormat") = 0
.cClearCache
End With
ThisWorkbook.PrintOut copies:=1, ActivePrinter:="CutePDFWriter"
Do Until pdfjob.cCountOfPrintjobs = 1
DoEvents
Loop
pdfjob.cPrinterStop = False
Do Until pdfjob.cCountOfPrintjobs = 0
DoEvents
Loop
With pdfjob
.cDefaultprinter = DefaultPrinter
.cClearCache
.cClose
End With
Set pdfjob = Nothing
End Sub
 
Re : macro creation pdf

Bonsoir ,
Je suis de retour sur le forum car j'ai quelques problèmes lors de l'éxecution de la macro de mon fichier que j'utilise sur Excel 2000.2003.2007 (en fonction des postes que j'utilise) . Elle fonctionne correctement sur xl 2000 mais bug une fois sur 2 lorsque je l'utilise en 2003 et 2007.
Je ne vois pas trop ce qui bug .pourriez vous prendre quelques minutes pour regarder celà et éventuellemnt me donner quelques pistes ;
Ci-joint le fichier simplifié pour exemple.

Merci de votre attention .
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

N
Réponses
6
Affichages
2 K
K
Réponses
9
Affichages
1 K
M
Réponses
3
Affichages
1 K
C
Réponses
2
Affichages
3 K
Cocoroboss
C
F
Réponses
6
Affichages
2 K
fred2705
F
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…