Imprimer un fichier pdf depuis Excel

Bonjour a tous

J'ai une macro qui fonctionne bien cette macro elle

=> Contrôle Des Cellules

=> Charge Des Variables depuis une feuille excel

=> Verification Et Constitution d'un Dépôt (répertoire) si il n'existe pas

=> Constitution du Fichier et Le mettre dans Une Variable

=> Contrôle Si Le le fichier existe déjà dans le dépôt

=> Contrôle Si Le le fichier est Ouvert ou en cours d'utilisation

=> Exportation PDF

=> Impression

=> envoie par Mail

le problème c'est que je utilise ce code pour imprimer le fichier PDF

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 Valider()

Code ..........................................................

'------------------------------------------
'Exportation PDF
'------------------------------------------

    With ActiveSheet
    .ExportAsFixedFormat Type:=xlTypePDF _
    , filename:=Mon_Fichier _
    , Quality:=xlQualityStandard _
    , IncludeDocProperties:=True _
    , IgnorePrintAreas:=False _
    , OpenAfterPublish:=True 'Ouvrir Après Exportation
    End With

'------------------------------------------
'Impression
'------------------------------------------

Dim NomFichier As String
Dim x As Long

    x = FindWindow("XLMAIN", Application.Caption)
    NomFichier = Mon_Fichier & ".pdf"
    ShellExecute x, "print", NomFichier, "", "", 1
    'On ferme les fichiers Acrobat ouverts pour l'impression des plans
    Application.Wait (Now + TimeValue("0:00:10"))
    Shell "TASKKILL /IM AcroRd32.exe /F"

j'aimerai imprimé deux copie PDF comment Faire

est ce possible d'adapté le code suivant dans le code de dessus pour avoir plus d'option

Application.Wait Now + TimeValue("00:00:01")

    With 
        'impression centrée dans la page
        .PageSetup.CenterHorizontally = True
        .PageSetup.CenterVertically = True
        'impression noir et blanc ou couleur
        .PageSetup.BlackAndWhite = False
        'zoom
        .PageSetup.zoom = 100
        'impression  papier A4
        .PageSetup.PaperSize = xlPaperA4
        'impression portrait (xlportrait) ou paysage (xlLandscape)
        .PageSetup.orientation = xlPortrait
        .PrintOut Copies:=1
        '.PrintOut From:=1, To:=1

    End With

Merci d'avance

Bonjour,

.PrintOut Copies:=1 --> ça ne serait pas 2 (ou plus) ici ?

Je dis peut être une bêtise

patrick1957 a écrit :

Bonjour,

.PrintOut Copies:=1 --> ça ne serait pas 2 (ou plus) ici ?

Je dis peut être une bêtise

Merci Mr patrick1957 pour ta réponse mais c'est pas ça que j'ai voulais dire j'ai ce code qui m'imprime comment faire pour imprimer deux copies

Dim NomFichier As String
Dim x As Long

    x = FindWindow("XLMAIN", Application.Caption)
    NomFichier = Mon_Fichier & ".pdf"
    ShellExecute x, "print", NomFichier, "", "", 1
    'On ferme les fichiers Acrobat ouverts pour l'impression des plans
   Application.Wait (Now + TimeValue("0:00:10"))
    Shell "TASKKILL /IM AcroRd32.exe /F"

Et est ce possible d'adapté le code suivant dans le code de dessus pour avoir plus d'option

Application.Wait Now + TimeValue("00:00:01")

With

'impression centrée dans la page

.PageSetup.CenterHorizontally = True

.PageSetup.CenterVertically = True

'impression noir et blanc ou couleur

.PageSetup.BlackAndWhite = False

'zoom

.PageSetup.zoom = 100

'impression papier A4

.PageSetup.PaperSize = xlPaperA4

'impression portrait (xlportrait) ou paysage (xlLandscape)

.PageSetup.orientation = xlPortrait

.PrintOut Copies:=1

'.PrintOut From:=1, To:=1

End With

Rechercher des sujets similaires à "imprimer fichier pdf"