VBA - Imprimer plusieurs fichiers non ouverts
Résolu
howiz
Messages postés
21
Statut
Membre
-
pijaku Messages postés 13513 Statut Modérateur -
pijaku Messages postés 13513 Statut Modérateur -
Bonjour,
Je souhaite, à l'action d'un bouton, imprimer plusieurs fichiers (pdf et word).
J'ai utilisé le code suivant :
Puis j'ai mis en place mon itération sur le bouton imprimer, exemple :
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.
Howard
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.
Howard
A voir également:
- Xlmain
- Renommer plusieurs fichiers en même temps - Guide
- Journal de naissance gratuit a imprimer - Télécharger - Histoire & Religion
- Comment imprimer en a5 - Guide
- Comment imprimer un fichier excel - Guide
- Fichiers epub - Guide
1 réponse
Bonjour,
deux possibilités me viennent à l'esprit.
1- la cellule Sheets("PdP 3 sur 4").Range("O35") ne contient pas un "X",
2- la "bascule" entre logiciels (word et ton reader pdf) se fait mal.
Si c'est le cas, ajouter un DoEvents entre chaque impression peut aider.
deux possibilités me viennent à l'esprit.
1- la cellule Sheets("PdP 3 sur 4").Range("O35") ne contient pas un "X",
2- la "bascule" entre logiciels (word et ton reader pdf) se fait mal.
Si c'est le cas, ajouter un DoEvents entre chaque impression peut aider.
Private Sub BoutonImprimer_Click() 'dechets If Sheets("PdP 3 sur 4").Range("O31") = "X" Then NomFichier = "F:\x\fichier1.doc" ImprimerFichier (NomFichier) End If DoEvents 'pret matériel If Sheets("PdP 3 sur 4").Range("O33") = "X" Then NomFichier = "F:\x\fichier2.pdf" ImprimerFichier (NomFichier) End If DoEvents 'produits chimiques If Sheets("PdP 3 sur 4").Range("O35") = "X" Then NomFichier = "F:\x\fichier3.doc" ImprimerFichier (NomFichier) End If DoEvents End Sub
ça peut être utile de temps en temps, dont ton cas fait apparemment partie.
De rien.
A++