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