Macro zone dynamique d'impression Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'805
Appréciations reçues : 12
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 22 mai 2014, 13:37

Bonjour,
J'ai un planning annuel sur lequel j'ai un visuel de l'ensemble de mes plannings.
J'aimerai une macro qui me fasse l'impression par mois, selon le mois que je veux. Le hic est que j'ai des hauteurs qui différent selon le nombre de personnes sur le planning.
Je suis pas très malin en macro... :oops: J'ai néanmoins avec "l'assistant macro" une macro pour imprimer la plage qui m'intéresse.

J'ai par ailleurs créer une zone dynamique nommée "janvier"
=DECALER(RECAP!$D$2;;EQUIV(DATE(RECAP!$B$1;1;1);RECAP!$D$5:$NI$5)-1;NBVAL(RECAP!$B$7:$B$70)+5;31)
J'ai donc par cette formule la plage qui m'interresse.
Ci-dessous vous trouverez le code que j'ai utilisé, qui fonctionne... mais que j'aimerai améliorer en faisant appel à la zone "janvier"
Sub janvier()
'

    Range("D2:AH38").Select
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = "$B:$B"
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = "$D$2:$AH$38"
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0)
        .RightMargin = Application.InchesToPoints(0)
        .TopMargin = Application.InchesToPoints(0.354330708661417)
        .BottomMargin = Application.InchesToPoints(0.354330708661417)
        .HeaderMargin = Application.InchesToPoints(0.31496062992126)
        .FooterMargin = Application.InchesToPoints(0.31496062992126)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = True
        .CenterVertically = True
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 1
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = True
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
End Sub
Si le code peut être plus court je prend aussi :wink:

Merci d'avance.

Leakim
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 9'017
Appréciations reçues : 79
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 22 mai 2014, 18:12

Salut Leakim,

Essaie ceci :
    ActiveSheet.PageSetup.PrintArea = "janvier"
    ActiveWindow.SelectedSheets.PrintOut
Cordialement.
Yvouille

Valais de Coeur
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'805
Appréciations reçues : 12
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 22 mai 2014, 19:01

bonsoir,
Merci Yvouille je teste demain.

@+

Leakim
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Avatar du membre
Yvouille
Passionné d'Excel
Passionné d'Excel
Messages : 9'017
Appréciations reçues : 79
Inscrit le : 6 avril 2007
Version d'Excel : 2016

Message par Yvouille » 26 mai 2014, 07:26

Salut,

De quel demain parlais-tu ?

:? A te relire.
Yvouille

Valais de Coeur
Avatar du membre
leakim
Membre impliqué
Membre impliqué
Messages : 1'805
Appréciations reçues : 12
Inscrit le : 11 décembre 2012
Version d'Excel : 2010 - 2016 FR
Téléchargements : Mes applications

Message par leakim » 29 mai 2014, 07:14

Salut Yvouille,
Désolé pour se mutisme, les jours se suivent et les demains aussi... :oops:

Ta proposition fonctionne parfaitement, je te remercie à nouveau.

Bonne journée, à demain... sûrement ou un autre jour :wink:

Au plaisir de se croiser.

Leakim
On apprend par des essais/erreurs. L'erreur, serait de ne pas en faire... :noel:
Image
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message