Bonjour à tous,
Je voudrais imprimer mon tableau d'activités comme suit :
- Imprimer les activités 0 à 10 (c-à-d tableau A5 à Z87)
- Imprimer les activités 11 à 20 si au moins une cellule d'une ligne de C88 à Z187 contient une valeur. Sinon ne pas imprimer les activités 11 à 20.
Merci (ci-dessous ma macro qui ne fonctionne pas :-( )
'Impression 0 à 10 activités
Range("A5:Z87").Select
ActiveWindow.LargeScroll ToRight:=3
ActiveWindow.ScrollColumn = 3
With ActiveSheet.PageSetup
.PrintTitleRows = "$7:$7"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "AGENDA"
.RightHeader = ""
.LeftFooter = "Activités 1 à 10"
.CenterFooter = "Page 1"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.196850393700787)
.RightMargin = Application.InchesToPoints(0.196850393700787)
.TopMargin = Application.InchesToPoints(0.196850393700787)
.BottomMargin = Application.InchesToPoints(0.196850393700787)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = -2
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Selection.PrintOut Copies:=1, Collate:=True
'Condition d'impression
For ligne = 88 To 167
valeur_ligne = Range("C88:Z167").Rows(ligne).Value
SngNbVal = Application.CountA(valeur_ligne)
MsgBox (SngNbVal)
If SngNbVal = 0 Then
'Impression 11 à 20 activités
Range("A88:Z167").Select
ActiveWindow.LargeScroll ToRight:=3
ActiveWindow.ScrollColumn = 3
With ActiveSheet.PageSetup
.PrintTitleRows = "$7:$7"
.PrintTitleColumns = ""
End With
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.LeftHeader = ""
.CenterHeader = "AGENDA"
.RightHeader = ""
.LeftFooter = "Activités 10 à 20"
.CenterFooter = "Page 2"
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.196850393700787)
.RightMargin = Application.InchesToPoints(0.196850393700787)
.TopMargin = Application.InchesToPoints(0.196850393700787)
.BottomMargin = Application.InchesToPoints(0.196850393700787)
.HeaderMargin = Application.InchesToPoints(0.31496062992126)
.FooterMargin = Application.InchesToPoints(0.31496062992126)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = -2
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Selection.PrintOut Copies:=1, Collate:=True
End If
Next ligne
Afficher la suite