Imprimer selon une quantité
Bonjour à tous,
J'ai une macro qui ouvre un autre fichier excel, (nommée: zzFacture....) qui lui envoie des donnée, qui enregistre se nouveau fichier au format XLSM et PDF et referme le fichier. (Voir macro ci dessous)
Maintenant je voudrais imprimer ce fichier nomée zzFacture... (au Nb de copie selon la cellule AH9 variant de 0 à 4) avant de le refermé, je cherche mais ne trouve pas, (je suis nul en macro)
If Sheets("Facture").Range("BG3") = "X" Then
Dim sPath As String, sFic As String
Dim WbkFacture As Workbook
' Mémorisé les valeurs nécessaires pour l'enregistrement
sPath = ThisWorkbook.Path & "\Facture\" & Sheets("Facture").Range("BF3") & "\Facture Modifiable\"
sFic = ThisWorkbook.Sheets("Facture").Range("AN3") & ".xlsm"
' Définir l'objet WbkContrat
Set WbkFacture = Workbooks.Open(Filename:=Range("AK91") & "\zzfacture(NE PAS SUPPRIMER).xlsm")
' Copier la cellule de ce classeur dans celui des Facture
ThisWorkbook.Sheets("Facture").Range("AS1:BF93").Copy
WbkFacture.Sheets("Feuil1").Range("AS1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
' Sauvegarder le classeur "zzfacture" au format Excel sous le nom définit
WbkFacture.SaveAs sPath & sFic
sPath = ThisWorkbook.Path & "\Facture\" & Sheets("Feuil1").Range("BF3") & "\"
sFic = ThisWorkbook.Sheets("Facture").Range("AN3") & ".pdf"
WbkFacture.Save
' Sauvegarder le classeur "zzfacture" au format PDF sous le nom définit
WbkFacture.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & sFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Fermer le classeur enregistré
WbkFacture.Closedifficile de vous envoyer un modèle vu que cela travaille avec plusieurs fichier dans des endroit différent.
Merci d'avance de votre généreuse aide.
SALUT
DIT MOI SI VOUS RECONTRER UN PROBLEME
If Sheets("Facture").Range("BG3") = "X" Then
Dim sPath As String, sFic As String
Dim WbkFacture As Workbook
' Mémorisé les valeurs nécessaires pour l'enregistrement
sPath = ThisWorkbook.Path & "\Facture\" & Sheets("Facture").Range("BF3") & "\Facture Modifiable\"
sFic = ThisWorkbook.Sheets("Facture").Range("AN3") & ".xlsm"
' Définir l'objet WbkContrat
Set WbkFacture = Workbooks.Open(Filename:=Range("AK91") & "\zzfacture(NE PAS SUPPRIMER).xlsm")
' Copier la cellule de ce classeur dans celui des Facture
ThisWorkbook.Sheets("Facture").Range("AS1:BF93").Copy
WbkFacture.Sheets("Feuil1").Range("AS1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
' Sauvegarder le classeur "zzfacture" au format Excel sous le nom définit
WbkFacture.SaveAs sPath & sFic
sPath = ThisWorkbook.Path & "\Facture\" & Sheets("Feuil1").Range("BF3") & "\"
sFic = ThisWorkbook.Sheets("Facture").Range("AN3") & ".pdf"
WbkFacture.Save
' Sauvegarder le classeur "zzfacture" au format PDF sous le nom définit
WbkFacture.ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & sFic, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
'/////////////////////////////////////////////////////////
Dim nbre_d_copies, zone_impression, val_apercus
nbre_d_copies = 1 ' Range("AH9").Value
val_apercus = False 'Range("AH10").Value par exemple mais false ou true
'cela est mieux pour ne pas imprimer toutes les feuilles
zone_impression = "a1:g48" ' c'est qu'un exemple
'changer la feuille par le chamgemt de nbre de feuilles
Workbooks("zzfacture(NE PAS SUPPRIMER).xlsm").Sheets(1).Range(zone_impression).PrintOut , , nbre_d_copies, val_apercus ', nom_imprimante, , , ignorer_zone
'Sheets("imprimees").Range(zone_impression).PrintOut , , nbre_d_copies, val_apercus ', nom_imprimante, , , ignorer_zone
'//////////////////////////////////////////////////////////
' Fermer le classeur enregistré
WbkFacture.CloseSuper Amir merci beaucoup
ça marche à merveille. j'ai juste du changer
Workbooks("zzfacture(NE PAS SUPPRIMER).xlsm")par
WbkFacturecar il ne reconnaissait pas le fichier vu que préalablement il a été enregistré sur un autre nom. (enfin c'est ce que je pense.
Bonne journée.