Bonjour,
Je cale sur un procédure et me demande si elle est possible au final.
Je souhaite imprimer de 1 à 3 pages une feuille de calcul (code si dessous) mais souhaite rattacher dans le même pdf une autre page provenant d'une autre feuille.
En gros comment combiner deux source lors de l'export du pdf :
Code procedure export pdf de 1 à 3 pages :
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
41
42
43
44
45
46
47
48
49
50 Sub Imp_MC_pdf() On Error GoTo OuvertureFichierErreur Nomexport = Worksheets("Acceuil").Range("H12") & "\MC." & Worksheets("Acceuil").Range("H10") & "." & Worksheets("Acceuil").Range("H11") & Worksheets("Main courante").Range("G14") & ".pdf" 'nom export type : MC.Nom entreprise.Nom du site.18.05.12.04.pdf (année.mois.jour.heure) 'Export main courante en PDF en fonction du nombre de ligne remplie va chercher info dans cellule J2 Sheets("Imp_Main_Courante").Select If Range("J2") = "1/3" Then Worksheets("Imp_Main_Courante").ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=Nomexport, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, _ To:=3, OpenAfterPublish:=False Else If Range("J2") = "1/2" Then Worksheets("Imp_Main_Courante").ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=Nomexport, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, _ To:=2, OpenAfterPublish:=False Else If Range("J2") = "1/1" Then Worksheets("Imp_Main_Courante").ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=Nomexport, Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, _ To:=1, OpenAfterPublish:=False Else MsgBox "problème le nombre max de pages a été changé" End If End If End If Exit Sub OuvertureFichierErreur: Set MonApplication = Nothing MsgBox "Erreur lors de la création du PDF" End Sub
Et autre feuille que j'aimerai rattaché qui pour l'instant s'exporte individuellement :
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 Sub Imp_Anomalie_pdf() 'exporte en pdf avec info du chemin indiquée feuil acceuil H12 : Worksheets("Acceuil").Range("H12") 'imprime feuille anomaliee On Error GoTo OuvertureFichierErreur Dim Nomexport As String Nomexport = Worksheets("Acceuil").Range("H12") & "\Anomalie." & Worksheets("Acceuil").Range("H10") & "." & Worksheets("Acceuil").Range("H11") & Worksheets("Main courante").Range("G14") & ".pdf" 'nom export type : MC.Nom entreprise.Nom du site.12-06-2018.pdf Sheets("Anomalie").Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=Nomexport, _ OpenAfterPublish:=False MsgBox "Les pages viennent d'être enregistrées dans votre fichier d'export" Exit Sub OuvertureFichierErreur: Set MonApplication = Nothing MsgBox "Erreur lors de la création du PDF" End Sub
J'ai tester procédure avec Array mais je ne sais pas ou définir le nombre de pages. Et du coup ça m'imprime automatiquement les 3 page de la Main courante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub TestImpr() Sheets(Array("Anomalie", "Imp_Main_courante")).Select Application.Dialogs(xlDialogPrint).Show ActiveWindow.SelectedSheets.PrintPreview 'ActiveWindow.SelectedSheets.PrintOut Copies:=1 End Sub
Partager