Bonjour à toutes et à tous,
Je souhaiterais imprimer en PDF certaines cellules d'un document Excel.
Après recherche et réflexion, je suis arrivé au code suivant, qui utilise PDFCreator :
Cela fonctionne et crée un document PDF. La plage de cellule sélectionnée Range("A2:M9,B35:E73") sort cependant sur 2 feuilles différentes (une pour A2:M9, une autre pour B35:E73), alors qu'elle a la place d'être sur une même feuille.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 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 Worksheets(3).Range("A2:M9,B35:E73").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
Je n'ai pas réussi à trouver le bout de code qui permettrait de restreindre l'impression à une seule page au lieu des 2 par défaut.
J'en appelle à vos brillants
Merci d'avance
Partager