Imprimer des documents PDF avec choix de l'imprimante et du nombre de copie

Bonsoir le forum ,

Dans le cadre de mon travail je suis en train de bricoler un fichier qui serait capable de m'imprimer tout les documents PDF présent dans un répertoire.

Après recherche sur le forum j'ai trouvé une commande de ce type qui couplait au chemin du fichier peut m'aider à imprimer le ou les fichiers voulu.

x = FindWindow("XLMAIN", Application.Caption)
ShellExecute x, "print", Chemin & Fichier, "", "", 1

Cependant est-ce qu'il est possible via cette commande ou une autre d'ailleurs de pouvoir passer le choix de l'imprimante? (mon lieu de travail peut être mobile et les imprimantes disponible ne sont pas toujours les mêmes)

J'utilise un formulaire qui entre autre permet de sélectionner parmi les imprimantes actives.

Voila voila, je remercie par avance tous ceux qui pourront et auront envi de m'aider.

Christophe

Bonjour tous le monde,

J'ai pu avancer sur mon problème avec le bout de code suivant :

ShellExecute(xlHwnd, "Printto", cheminFichier, imprimanteSelectionnee, 0&, 0&)

Si je l'utilise avec l'argument "Print" j'ai bien une fenêtre qui s'ouvre avec les options de paramètrages du document à imprimer (choix de l'imprimante, nombre de copie, etc...), cependant avec l'argument "printto" (qui lui, si j'ai bien compris, permet d'imprimer sans passer par cette fenêtre) rien ne se passe.

Est-ce que vous auriez une idée? Pour rappel le but était d'imprimer une liste de documents à partir de leurs chemin respective et dans l'ordre ou ils sont renseignés.

Merci d'avance pour vos réponses et bon dimanche à vous

Bonsoir,

Cette instruction ne posera pas de problème :

CreateObject("Shell.Application").ShellExecute nom_fichier, , chemin_fichier, "print", 0

Bonsoir thev ,

Merci beaucoup pour ta réponse, c'est effectivement ce qu'il me fallait.

Le code dans son contexte :

Private Sub Lb_btn_imprimer_Click()

        Dim nbItemList%
        Dim nbPrint%
        Dim nbErrorPrint%
        Dim sDocument$
        Dim sRepertory$

        With Me

                .Lb_fond_champ_indic.Visible = True
                .Lb_champ_indic.Visible = True

                For nbPrint = 1 To .Tb_nbr_copie.Value

                        For nbItemList = 0 To .Lstbx_liste_impression.ListCount - 1

                                sDocument = Split_document_name(.Lstbx_liste_impression.List(nbItemList, 0))
                                sRepertory = Split_repertory_name(.Lstbx_liste_impression.List(nbItemList, 0), sDocument)

                                If Not sDocument = vbNullString _
                                                                And Not sRepertory = vbNullString _
                                                                And Len(Dir(sRepertory & "\" & sDocument)) > 0 Then

                                        On Error Resume Next
                                        CreateObject("Shell.Application").ShellExecute sDocument, , sRepertory & "\", "print", 0
                                        Application.Wait (Now + TimeValue("00:00:01"))

                                Else
                                        nbErrorPrint = nbErrorPrint + 1
                                End If

                        Next nbItemList

                Next nbPrint

                .Lb_champ_indic.Caption = "Impression échouée = " & nbErrorPrint & " sur " & .Lstbx_liste_impression.ListCount

        End With

End Sub

Merci merci et merci à toi

Bonne soirée à tout le monde et vive ce forum

Rechercher des sujets similaires à "imprimer documents pdf choix imprimante nombre copie"