Impression par zone

Résolu
Bonjour,

J'ai un tableau dont ci-joint photo,j'aimerais savoir s'il est possible d'imprimer chaque zone de couleurs différentes séparément au format A4 Portrait sur toute la largeur de la feuille.
Chaque zone commence a partir de la cellule B8 ,F8, J8, N8 avec un nombres de lignes qui peut changer,
mais qui sera toujours égal sur les 4 zones.
Je pense mettre un bouton pour activer l'impression.
Si vous avez une solution je suis preneur
Merci pour votre aide

https://mon-partage.fr/f/0P8Fr8lZ/

Cordialement

Configuration: Windows / Firefox 65.0

5 réponses

  1. Contributeur
    Bonjour,

    une manière de faire en vba:

    https://www.cjoint.com/c/IBpqKWlmlgQ

    1. Bonjour Le Pivert
      Merci pour ta réponse
      Celle ci ne correspond pas vraiment à ce que je cherche a savoir:
      Il me faudrait une macro que j'affecterai à un bouton pour imprimer sur toute la largeur d'une feuille A4 au format portrait la plage B8:E50.
      Ensuite je ferai de même pour les autres plages avec d'autres boutons.Une feuille par plage.
      J'espère avoir été assez explicite.
      Cordialement
      1. Contributeur
        Si j'ai bien compris, tu veux un seul PDF mais avec 4 feuilles?
    2. Ce que je cherche c'est une macro affectée a un bouton pour imprimer B8:E50
      mais que cette impression ce fasse sur une plein page.
      Crdlt
      1. Bonjour

        Je suis parvenu à faire ce que je voulais avec cette macro adapté à mes besoins

        Sub miseEnPageAvantImpression()
        With Sheets("Doublette").PageSetup
        'Définit la zone d'impression pour une plage de cellules.
        .PrintArea = "$B$8:$E$22"
        .PaperSize = xlPaperA4
        .Zoom = 300
        'Mise en page: définit les marges
        .LeftMargin = Application.InchesToPoints(0.5)
        .RightMargin = Application.InchesToPoints(0.5)
        .TopMargin = Application.InchesToPoints(0)
        .BottomMargin = Application.InchesToPoints(0)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        End With

        With Sheets("Doublette")
        .PageSetup.CenterHorizontally = True
        .PageSetup.CenterVertically = True
        .PrintOut
        End With

        Sheets("Doublette").PrintPreview
        End Sub

        Cordialement