Bonjour,
Je souhaite, à l'action d'un bouton, imprimer plusieurs fichiers (pdf et word).
J'ai utilisé le code suivant :
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe 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
Sub ImprimerFichier(NomFichier)
'Dim NomFichier As String
Dim x As Long
x = FindWindow("XLMAIN", Application.Caption)
ShellExecute x, "print", NomFichier, "", "", 1
End Sub
Puis j'ai mis en place mon itération sur le bouton imprimer, exemple :
Private Sub BoutonImprimer_Click()
'dechets
If Sheets("PdP 3 sur 4").Range("O31") = "X" Then
NomFichier = "F:\x\fichier1.doc"
ImprimerFichier (NomFichier)
End If
'pret matériel
If Sheets("PdP 3 sur 4").Range("O33") = "X" Then
NomFichier = "F:\x\fichier2.pdf"
ImprimerFichier (NomFichier)
End If
'produits chimiques
If Sheets("PdP 3 sur 4").Range("O35") = "X" Then
NomFichier = "F:\x\fichier3.doc"
ImprimerFichier (NomFichier)
End If
End Sub
Dans ce cas précis les deux premiers fichiers s'impriment mais le 3ème non! Comme si on en avait pas pu envoyer un deuxième document sur Word pour l'imprimer. J'ai le même problème lorsque je souhaite imprimer deux fichiers PDF.
Avez vous une idée pourquoi ?
Merci d'avance pour votre aide.
Cordialement.