Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Impression de tous les fichiers pdf présents dans un dossier depuis Excel

jozerebel

XLDnaute Occasionnel
Bonjour à tous,

Je cherche une macro excel qui imprimerait tous les Pdf stockés dans un dossier dont je connais le nom.

Pouvez-vous m'aider svp ?

D'avance merci !!!!
 

danielco

XLDnaute Accro
Bonjour,

D'après forum.excel-pratique.com citant .developpez.net avec des commentaires en anglais :
VB:
' Test which version of VBA you are using.
#If VBA7 Then
   ' API function to locate a window.
   Declare PtrSafe Function FindWindow Lib "user32" _
      Alias "FindWindowA" ( _
      ByVal lpClassName As String, _
      ByVal lpWindowName As String) As LongPtr
      
    Private Declare PtrSafe Function ShellExecute Lib _
        "shell32.dll" Alias "ShellExecuteA" ( _
        ByVal hwnd As LongPtr, ByVal lpOperation As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPtr
#Else
   ' API function to locate a window.
   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
#End If
Sub ImprimerFichier()
    Dim NomFichier As String
    Dim x As Long
    x = FindWindow("XLMAIN", Application.Caption)
    NomFichier = "D:\Users\dcola\Documents\Donnees\Daniel\mandat_de_prelevement_sepa.pdf"
    ShellExecute x, "print", NomFichier, "", "", 1
End Sub

Cordialement.

Daniel
 

xUpsilon

XLDnaute Accro
Bonjour jozerebel,

Il te suffit de lister les noms des fichiers sur ta feuille excel et de boucler sur ces noms le code précédent.
Quelque chose de ce genre :

VB:
Dim NameFile as string
For i = 1 to 10
    NameFile = Range("A" & i)
    'Appel de la fonction d'impression d'un fichier unique
    'Dans cet appel penser à modifier la fin de l'appel tel que par ex NomFichier = "D:\Blablabla" & NameFile
Next i

Bonne continuation
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…