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