Macro impression pdf

dilank

XLDnaute Junior
Bonjour,

J'ai fait un fichier en pièce jointe...

J'ai fait une macro simple pour imprimer toutes les personnes sous un code 14001 , 14002 .... pour la feuille resultat..

je voudrais (à la place que cela s'imprime) que ça enregistre toutes les personnes dans un seul pdf...

j'ai pdf architect 3 creator dessus et excel 2013.

Merci de votre aide.
 

Pièces jointes

  • MACRO PDF.xlsm
    18.5 KB · Affichages: 75

Modeste geedee

XLDnaute Barbatruc
Re : Macro impression pdf

Bonsour®
EXCEL sait exporter directement en Pdf

on pourra avantageusement simplifier le code ci-dessous par une boucle sur les différents N° de compte souhaité
Nb : la plage d'impression doit être définie
VB:
Sub Macro1()
    Range("G4") = "14001"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                     Filename:=ThisWorkbook.Path & "\" & Range("G4") & ".pdf", _
                     Quality:=xlQualityStandard, _
                     IncludeDocProperties:=True, _
                     IgnorePrintAreas:=False, _
                     OpenAfterPublish:=False 'True
    Range("G4") = "14002"
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                     Filename:=ThisWorkbook.Path & "\" & Range("G4") & ".pdf", _
                     Quality:=xlQualityStandard, _
                     IncludeDocProperties:=True, _
                     IgnorePrintAreas:=False, _
                     OpenAfterPublish:=False
    Range("G4") = "14003"
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                     Filename:=ThisWorkbook.Path & "\" & Range("G4") & ".pdf", _
                     Quality:=xlQualityStandard, _
                     IncludeDocProperties:=True, _
                     IgnorePrintAreas:=False, _
                     OpenAfterPublish:=False
    Range("G4") = "14004"
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                     Filename:=ThisWorkbook.Path & "\" & Range("G4") & ".pdf", _
                     Quality:=xlQualityStandard, _
                     IncludeDocProperties:=True, _
                     IgnorePrintAreas:=False, _
                     OpenAfterPublish:=False
    Range("G4") = "14005"
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                     Filename:=ThisWorkbook.Path & "\" & Range("G4") & ".pdf", _
                     Quality:=xlQualityStandard, _
                     IncludeDocProperties:=True, _
                     IgnorePrintAreas:=False, _
                     OpenAfterPublish:=False
End Sub
 

Staple1600

XLDnaute Barbatruc
Re : Macro impression pdf

Bonjour à tous

dilank
j'ai lu tout le fil, j'ai retenu ceci.
Nb : la plage d'impression doit être définie
Est-ce bien le cas chez toi?

EDITION: Et donc avec une boucle, je confirme que le code soumis par Modeste Geedee n'est pas dans l'incapacité de fonctionner correctement ;)
Code:
Sub Macro1B()
Dim i, sPath$, f As Worksheet
sPath = "C:\Temp\" 'adapter ici le chemin
Set f = Sheets([IMPRESSION].Parent.Name)
For i = 14001 To 14005
f.[G4] = i
[IMPRESSION].ExportAsFixedFormat Type:=xlTypePDF, _
                     Filename:=sPath & f.[G4] & ".pdf", _
                     Quality:=xlQualityStandard, _
                     IncludeDocProperties:=True, _
                     IgnorePrintAreas:=False, _
                    OpenAfterPublish:=False 'True
Next
End Sub
NB: Ici [IMPRESSION] correspond à une plage de cellule nommées.
(voir le Gestionnaire de Noms)
testé avec Excel 2013.
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Re : Macro impression pdf

Bonsour® JM

je pense que le demandeur à des difficultés à préciser ces besoins, ou bien que nous n'interprétions pas correctement ceux-ci...

je voudrais (à la place que cela s'imprime) que ça enregistre toutes les personnes dans un seul pdf...

dans cette demande je comprends que les résultats ne soit pas imprimés, mais soient contenus dans un seul pdf.. ??

ma réponse concernait la création d'un pdf par personne (sans impression)
impression facultative à la demande en modifiant ce paramètre
code....
, OpenAfterPublish:=True

je ne connais pas la syntaxe VBA, pour concaténer les pdf... :(
 

Staple1600

XLDnaute Barbatruc
Re : Macro impression pdf

Bonjour Modeste Geedee


je ne connais pas la syntaxe VBA, pour concaténer les pdf...
En cherchant un peu dans les scritps VBS (donc transposable en VBA), j'ai retenu cela:
CreateObject("AcroExch.PDDoc")
(Il y a pas mal d'exemples sur me web anglophone)
(Voir aussi les travaux de kiki29 (membre d'XLD))


Mais attendons les précisions du demandeur avant de merger du PDF

 
Dernière édition:

kiki29

XLDnaute Barbatruc
Dernière édition:

dilank

XLDnaute Junior
Re : Macro impression pdf

Modeste geedee dans la PJ que tu as mise c'est toi qui a écrit "14001" "14002" .. ? Par contre je n'ai peut être pas le bon Acrobat.. ?

car quand j'utilise la macro je vois bien les personnes changer... mais pas de pdf.... ou alors cela s'enregistre quelque part.. ??
 
Dernière édition:

dilank

XLDnaute Junior
Re : Macro impression pdf

Oui Modeste geedee je ne veux pas imprimer mais bien enregistrer directement en pdf desole pour la mauvaise precision...

Pour autant je souhaite modifier ma demande...

Le mieux serait (si c'est possible) que :

1-ça enregistre 1 pdf pour 1 résultat
2-que ça envoie automatiquement le résultat par mail (avec une boite gmail) par contre ce système je ne sais pas si c'est réalisable.
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
661

Statistiques des forums

Discussions
312 361
Messages
2 087 611
Membres
103 607
dernier inscrit
lolo1970