Anthonymctm
XLDnaute Occasionnel
Bonjour à tous,
J'ai un fichier Excel avec une dizaine d'onglets sur lequel j'utilise une macro pour imprimer certains onglets selon la condition ou la cellule Z1=1.
Ca, c'est bon.
J'aimerais ensuite, et c'est là ou j'ai besoin de votre aide, enregistrer un PDF de certains onglets ou Z1=1.
J'ai trouvé cet macro pour enregistrer un pdf de certains onglets et ça fonctionne bien :
Il faudrait juste que je puisse ajouter la condition Z1=1 parmis les onglets listés uniquement (j'ai d'autres onglets ou Z1 =1 que je n'enregistrerai jamais en pdf).
Ci-dessous ma macro global :
Merci !!
J'ai un fichier Excel avec une dizaine d'onglets sur lequel j'utilise une macro pour imprimer certains onglets selon la condition ou la cellule Z1=1.
Ca, c'est bon.
J'aimerais ensuite, et c'est là ou j'ai besoin de votre aide, enregistrer un PDF de certains onglets ou Z1=1.
J'ai trouvé cet macro pour enregistrer un pdf de certains onglets et ça fonctionne bien :
VB:
Sub CreerPDF()
Dim sRep As String
Dim sFilename As String
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
sRep = ThisWorkbook.Path
sFilename = ThisWorkbook.Name
sFilename = Left(sFilename, InStr(1, sFilename, ".")) & "pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sRep & sFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub
Il faudrait juste que je puisse ajouter la condition Z1=1 parmis les onglets listés uniquement (j'ai d'autres onglets ou Z1 =1 que je n'enregistrerai jamais en pdf).
Ci-dessous ma macro global :
Code:
Sub PrintingChoose()
Dim sRep As String
Dim sFilename As String
Dim wb
Worksheets("débit-2").Visible = True
For Each wb In Worksheets 'ou worbooks pour classeurs worksheets si tu veux parcourir les feuilles au lieu des classeurs
If wb.Range("Z1").Value = 1 Then 'tu verifies la valeur de la cellule Z1 dans la feuille active lors de l'ouverture du classeur. pour le parcours des feuilles au lieu des classeurs, il faut juste enlever ".activesheet"
' wb.PrintOut 'Lance l'impression du classeur/ de la feuille. Fais juste attention à ce que l'imprimante par défaut soit active
wb.PrintPreview
End If
Next:D
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
sRep = ThisWorkbook.Path
sFilename = ThisWorkbook.Name
sFilename = Left(sFilename, InStr(1, sFilename, ".")) & "pdf"
ActiveSheet.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sRep & sFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Worksheets("débit-2").Visible = False
End Sub
Merci !!
Dernière édition: