Microsoft 365 Imprimer deux zones d'impression provenant de deux onglets sur une seule feuille

Mat_

XLDnaute Nouveau
Bonjour,

Comme indiqué dans le titre du sujet, je voudrais imprimer 2 tableaux/zones qui sont sur 2 onglets différents dans 1 seule feuille, l'un servant d'en-tête à la feuille et le second dans le corps de la feuille.

En cherchant un peu sur le forum, je suis tombé sur un sujet dont je pense la problématique est similaire :
https://excel-downloads.com/threads...sur-une-seule-feuille.20046232/#post-20341309
J'ai essayé d'adapter la réponse de Phil69970 qui marche pour Bidexcel mais qui ne fonctionne pas de mon côté.
En fait au niveau de la ligne de code suivante :

VB:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=F1_Chemin & "\" & NomFichier, _

Ca se focalise sur un onglet et du coup ça met en PDF seulement ce qu'il y a sur cet onglet.

Peut-être que le code ne correspond pas à ce que je recherche même si j'ai l'impression que oui.

Le code est le suivant :

Code:
Sub plage_to_PDF_test()

    With Sheets(F1_Feuille2).PageSetup
        .PrintArea = "$B$3:$I$6"
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PrintQuality = 600
        .CenterHorizontally = True
        .Orientation = xlLandscape
        .PaperSize = xlPaperA4
    End With
    
    With Sheets(2).PageSetup
        .PrintArea = Range(Sheets(2).Cells(LF1_DebTableau, CF1_Troncon - 1), Sheets(2).Cells(LF1_FinTableau, CF1_Troncon + 10)).Address
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        'Réglage des marges
        .LeftMargin = Application.InchesToPoints(0.1)   'Marge gauche
        .RightMargin = Application.InchesToPoints(0.1)  'Marge droite
        .TopMargin = Application.InchesToPoints(1.2)    'Marge haut de page
        .BottomMargin = Application.InchesToPoints(0.1) 'Marge bas de page
        .PrintQuality = 600
        .CenterHorizontally = True
        .Orientation = xlLandscape
        .PaperSize = xlPaperA4
    End With
    
    NomFichier = Troncon & ".pdf"
    
    ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=F1_Chemin & "\" & NomFichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False

End Sub

Merci pour vos réponses.
 

Zon

XLDnaute Impliqué
Bonjour,

Comme indiqué dans le titre du sujet, je voudrais imprimer 2 tableaux/zones qui sont sur 2 onglets différents dans 1 seule feuille, l'un servant d'en-tête à la feuille et le second dans le corps de la feuille.

En cherchant un peu sur le forum, je suis tombé sur un sujet dont je pense la problématique est similaire :
https://excel-downloads.com/threads...sur-une-seule-feuille.20046232/#post-20341309
J'ai essayé d'adapter la réponse de Phil69970 qui marche pour Bidexcel mais qui ne fonctionne pas de mon côté.
En fait au niveau de la ligne de code suivante :

VB:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=F1_Chemin & "\" & NomFichier, _

Ca se focalise sur un onglet et du coup ça met en PDF seulement ce qu'il y a sur cet onglet.

Peut-être que le code ne correspond pas à ce que je recherche même si j'ai l'impression que oui.

Le code est le suivant :

Code:
Sub plage_to_PDF_test()

    With Sheets(F1_Feuille2).PageSetup
        .PrintArea = "$B$3:$I$6"
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PrintQuality = 600
        .CenterHorizontally = True
        .Orientation = xlLandscape
        .PaperSize = xlPaperA4
    End With
   
    With Sheets(2).PageSetup
        .PrintArea = Range(Sheets(2).Cells(LF1_DebTableau, CF1_Troncon - 1), Sheets(2).Cells(LF1_FinTableau, CF1_Troncon + 10)).Address
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        'Réglage des marges
        .LeftMargin = Application.InchesToPoints(0.1)   'Marge gauche
        .RightMargin = Application.InchesToPoints(0.1)  'Marge droite
        .TopMargin = Application.InchesToPoints(1.2)    'Marge haut de page
        .BottomMargin = Application.InchesToPoints(0.1) 'Marge bas de page
        .PrintQuality = 600
        .CenterHorizontally = True
        .Orientation = xlLandscape
        .PaperSize = xlPaperA4
    End With
   
    NomFichier = Troncon & ".pdf"
   
    ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=F1_Chemin & "\" & NomFichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False

End Sub

Merci pour vos réponses.
Salut,

Activeworkbook à la place de activesheet ...
 

Zon

XLDnaute Impliqué
Salut,

en sélectionnant tes 2 feuilles: adapter le nom des feuilles le cas échéant.


VB:
NomFichier = Troncon & ".pdf"
Sheets(Array(F1_Feuille2, Sheets(2).Name)).Select
    ActiveSheet.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=F1_Chemin & "\" & NomFichier, _
            Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, _
            IgnorePrintAreas:=False, _
            OpenAfterPublish:=False

A+++
 

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
J'ai repris dans un fichier exemple ce que je pense être tes souhaits ( pas sûr)
J'ai écrit une macro souple : On donne les plages des 2 feuilles( GdA, Feuil3) , le nom de la feuille qui "récolte" ( pour imprimer IMP)ça crée un fichier Pdf , reste à mettre la dernière instruction pour imprimer ( tout fonctionne)
Bon moi tout l'été je vis dans notre Mobil-home et j'ai pas d'imprimante donc j'ai pas le résultat final
Tu pourras peut être adapter à ton appli
Si ça va pas , pas grave .... cela m'a passé le temps car ici dans le 62 pas de plage ..on se caille !!!!!!!!
 

Pièces jointes

  • Bouquin.xlsm
    347.3 KB · Affichages: 5
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
315 089
Messages
2 116 098
Membres
112 661
dernier inscrit
ceucri