Imprimer plusieurs fichiers pdf depuis Excel VBA
Bonjour tous le monde
J'espère que vous allez tous.
J'aimerais savoir s'il existe un code VBA qui permet d'imprimer un ensemble de fichier en PDF en une fois depuis un fichier Excel.
Par exemple, j'aimerais imprimer en une seul fois tous les fichiers PDF se trouvant dans ce répertoire "C:\Users\ZAK\Desktop\Mon dossier" depuis un fichier Excel grâce à un bouton qui sera affecter à une macro.
Pourriez-vous m'aidez SVP ?
Bonsoir,
Voici une macro trouvée sur le net et qui fonctionne sur mon excel2010....
A tester...
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
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
Sub ImprimerFichierPDF()
Dim x As Long, Chemin_Fichier As String, Nom_Fichier As String
Chemin_Fichier = "C:\Users\maison\Desktop\Nouveau dossier\"
x = FindWindow("XLMAIN", Application.Caption)
Nom_Fichier = Dir(Chemin_Fichier & "*.PDF")
'boucle nom de fichier PDF
Do While Nom_Fichier <> ""
ShellExecute x, "print", Chemin_Fichier & Nom_Fichier, "", "", 1
Nom_Fichier = Dir
Loop
End Sub
Cordialement,
Bonjour xorsankukai
Merci pour votre réponse.
Je ne sais pas si c'est à cause de mon appareil mais je vais vous donner quelque précision le concernant (Peut être qu'il faut adapter le code ?)
La version de mon Microsoft office est l'office 365. En outre, je n'ai pas l'application adobe, de ce fait j'ouvre mes fichier PDF avec chrome.
Si vous pouvez m'aider avec ce problème ça serait génial.
Cordialement,
Zak
Bonjour,
Je ne possède pas non plus Adobe....
Problème de compatibilité avec ta version d'excel...
Nouvel essai:
Option Explicit
#If VBA7 Then
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
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#Else
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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
#End If
Sub ImprimerFichierPDF()
Dim x As Long, Chemin_Fichier As String, Nom_Fichier As String
Chemin_Fichier = "C:\Users\ZAK\Desktop\Mon dossier\"
x = FindWindow("XLMAIN", Application.Caption)
Nom_Fichier = Dir(Chemin_Fichier & "*.PDF")
'boucle nom de fichier PDF
Do While Nom_Fichier <> ""
ShellExecute x, "print", Chemin_Fichier & Nom_Fichier, "", "", 1
Nom_Fichier = Dir
Loop
End Sub
Cordialement,
ça ne marche toujours pas
Là, il y a plus de message d'erreur mais lorsque j'exécute la macro, rien ne se passe. Les fichiers ne s'impriment pas.
Je ne comprends plus rien.
Cordialement,
Bonsoir et merci pour le retour,
Désolé, je crains de ne pouvoir t'aider d'avantage, la macro fonctionne chez moi....
Si ton chemin est correct, si ton dossier contient bien des fichiers.pdf et que la macro ne génère aucune erreur.....
Je passe la main aux pros,
Cordialement,
Bonsoir xorsankukai,
Petite Mise à jour
J'ai essayer ton dernier code VBA avec un autre pc qui possède adobe reader. Les fichiers pdf s'ouvrent avec cette appli. ET CA MARCHE !
Je ne sais pas pourquoi
En tout cas, merci sincèrement pour ton aide très précieuse.
Cordialement,