XL 2019 Impression automatique en vba

michelf

XLDnaute Junior
Bonjour, je suis en phase finale de la création d'un bulletin scolaire.
J'ai une macro qui me permet de les générer tous en format pdf.
Je voudrais, à la place (ou en plus) pouvoir les imprimer tous... Je pensais utiliser .printout mais je ne sais pas comment l'intégrer dans (ou en +) de la macro ci-dessous.
Quelqu'un peut-il m'aider, merci d'avance


Sub ImpressionDesBulletins()
Dim c As Range
For Each c In Worksheets("Elèves").Range("A3:A24")
Worksheets("Bull").Cells(1, 8).Value = c.Value
' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=
Worksheets("Bull").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\" & c.Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False

Next

End Sub
 

Etoto

XLDnaute Accro
Bonjour, je suis en phase finale de la création d'un bulletin scolaire.
J'ai une macro qui me permet de les générer tous en format pdf.
Je voudrais, à la place (ou en plus) pouvoir les imprimer tous... Je pensais utiliser .printout mais je ne sais pas comment l'intégrer dans (ou en +) de la macro ci-dessous.
Quelqu'un peut-il m'aider, merci d'avance


Sub ImpressionDesBulletins()
Dim c As Range
For Each c In Worksheets("Elèves").Range("A3:A24")
Worksheets("Bull").Cells(1, 8).Value = c.Value
' ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=
Worksheets("Bull").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Temp\" & c.Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False

Next

End Sub
Hello,

Pourquoi transformer en PDF pour après l'imprimer, est-ce pas mieux d'imprimer le fichier Excel et si tu en as besoin, le transformer en fichier PDF ?
 

Etoto

XLDnaute Accro
je vais essayer, je dois "supprimer" la partie "pdf" alors ?? ou ajouter cette commande quelque part ??
Cela dépend si tu as besoin du PDF. Si tu veux garder la transformation PDF, tu peux placer ce code au dessus du reste. Si tu ne veux pas du PDF tu remplace le code.

Voici le code pour imprimer le fichier entier :

VB:
ActiveWorkbook.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False

Et si tu veux imprimer par exemple que les 20 premières pages :

Code:
ActiveWorkbook.PrintOut From:=1, To:=20 Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
 

Etoto

XLDnaute Accro
De rien. Et si tu veux optimiser l'impression tu peux faire

VB:
Sub imprimer()

NBcopies = [B1]
Page_départ = [B2]
Page_fin = [B3]

ActiveWorkbook.PrintOut From:= Page_départ, To:= Page_fin Copies:= NBcopies, Collate:=True, _
        IgnorePrintAreas:=False

End Sub

Comme ça tu précise dans la cellule B1 le nombres de copies, en B2 page de début et B3 page de fin.
Mais si tu veux vraiment tout imprimer tu peux simplement faire :

VB:
NBcopies = [B1]

ActiveWorkbook.PrintOut Copies:= Nbcopies, Collate:=True, _
        IgnorePrintAreas:=False

Cordialement
 

Discussions similaires

Réponses
2
Affichages
458

Statistiques des forums

Discussions
294 232
Messages
1 937 079
Membres
188 145
dernier inscrit
Peres2