Bonjour,

j'arrive à ouvrir tous les pdf et à les imprimer dans leurs intégralités à l'aide de la macro ci-dessous.
Mais je voudrais pouvoir imposer les pages à imprimer. Avez-vous une idée car je ne trouve pas ?
Merci d'avance.

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
Option Explicit
 
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
Private Sub PrintFichier(sNomFichier As String)
Dim Rep As Integer
Dim hWnd As Long
 
'Commande shell pour lancer l'impression du pdf ouvert
    Rep = ShellExecute(hWnd, "Print", sNomFichier, 0&, 0&, 1)
 
End Sub
 
Sub Tst()
Dim sdossier As String
Dim sFichier As String
Dim fich As String
 
 
'Choix du répertoire
Dim Repertoire As FileDialog
 
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
 
If Repertoire.SelectedItems.Count > 0 Then _
    MsgBox Repertoire.SelectedItems(1)
 
    sdossier = Repertoire.SelectedItems(1)
 
    fich = Dir(sdossier & "\*.pdf")
'Boucle qui ouvre les pdf du dossier les uns après les autres
Do While fich <> ""
 
    PrintFichier sdossier & "\" & fich
    fich = Dir
Loop
 
End Sub
j'ai aussi ce petit code qui permet d'ouvrir le pdf à une certaine page mais j'arrive pas à combiner les 2.

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
Sub Bouton4_Cliquer()
 
'ouvrir pdf à une page
 
    Dim sPDFfile As String
    Dim sAdobeCommand As String
    Dim WshShell As Object
    Const cAdobeReaderExe As String = "C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe"
 
    sPDFfile = "P:\Partage Général\Production\Stérilisation Bressuire\2015\février\2015-02-02\MPI_1_9_-_119°_75mn_[02_02_2015_08_30_22].pdf"
 
    sAdobeCommand = " /a ""page=3=Open Actions"" "
 
    Shell cAdobeReaderExe & sAdobeCommand & Chr(34) & sPDFfile & Chr(34), vbNormal
 
 
    Application.Wait (Now + TimeValue("0:00:05"))
 
end sub