Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" <jpivert@ifrance.fr> a écrit dans le message de news:%23p$rkCxWEHA.716@TK2MSFTNGP11.phx.gbl...
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" <jpivert@ifrance.fr> a écrit dans le message de news:%23p$rkCxWEHA.716@TK2MSFTNGP11.phx.gbl...
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" <jpivert@ifrance.fr> a écrit dans le message de news:%23p$rkCxWEHA.716@TK2MSFTNGP11.phx.gbl...
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" <jpivert@ifrance.fr> a écrit dans le message de news:%23p$rkCxWEHA.716@TK2MSFTNGP11.phx.gbl...
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Rebonjour michdenis
j'attaque le week end en forme (pont jusqu'au 29, actuelle "Fête nat",
qui devrait être déplacée au 12/07 bicoze changement de majorité, donc 2
chômés cette année :-)
encore merci
@+
J@@
michdenis wrote:Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu
avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté
à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour
Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de
news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de
l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Rebonjour michdenis
j'attaque le week end en forme (pont jusqu'au 29, actuelle "Fête nat",
qui devrait être déplacée au 12/07 bicoze changement de majorité, donc 2
chômés cette année :-)
encore merci
@+
J@@
michdenis wrote:
Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu
avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté
à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour
Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" <jpivert@ifrance.fr> a écrit dans le message de
news:%23p$rkCxWEHA.716@TK2MSFTNGP11.phx.gbl...
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de
l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
Rebonjour michdenis
j'attaque le week end en forme (pont jusqu'au 29, actuelle "Fête nat",
qui devrait être déplacée au 12/07 bicoze changement de majorité, donc 2
chômés cette année :-)
encore merci
@+
J@@
michdenis wrote:Bonjour J@@,
Tu peux essayer ceci :
Je n'ai pas testé cette procédure lors d'impression mais "L'aperçu
avant impression" correspond à ta demande !
Évidemment, certains paramètres d'impression ont besoin d'être adapté
à ton application comme les marges , en-têtes et
pied de page... etc. ...
Et il ne te reste plus qu'à modifier la commande PrintPreview pour
Printout et ses paramètres.
'-----------------------------------
Sub Imprimer()
Dim R As Range
With Worksheets("Feuil1") 'À définir
.Range("A:A").EntireColumn.Hidden = True
.Range("4:38").EntireRow.Hidden = True
.Range("38:38").EntireRow.Hidden = False
With .PageSetup
.LeftHeader = "My Company"
.CenterHeader = ""
.RightHeader = "&D / &T" ' la date et l'heure
.LeftFooter = "Highly Confidential"
.CenterFooter = ""
.RightFooter = "Finance"
.LeftMargin = Application.InchesToPoints(0.54)
.RightMargin = Application.InchesToPoints(0.3)
.TopMargin = Application.InchesToPoints(0.4)
.BottomMargin = Application.InchesToPoints(0.36)
.HeaderMargin = Application.InchesToPoints(0.22)
.FooterMargin = Application.InchesToPoints(0.17)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
' .PrintQuality = 600 ' does not work with all the printers
.CenterHorizontally = True
.CenterVertically = True
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperLetter
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
For Each R In Range("3:37").Rows
R.Hidden = False
.PageSetup.PrintArea = _
.Range("B1:J38").SpecialCells(xlCellTypeVisible).Address
.PageSetup.PrintArea = ""
.PrintPreview
R.Hidden = True
Next
.Range("A:A").EntireColumn.Hidden = False
End With
Set R = Nothing
End Sub
'-----------------------------------
Salutations!
"J@@" a écrit dans le message de
news:%23p$
Bonjour à tous (XL2000)
dans la plage B1:J38 d'une feuille j'essaie d'imprimer par VBA
successivement chaque ligne de 3 à 37, en imprimant à chaque fois les
lignes 1, 2 et 38 en plus de la ligne concernée, en début de
l'impression.
J'ai récupéré un bout de code, mais rien ne marche...
Merci pour l'aide
J@@
*****
Sub Impressionsequentielle()
Dim Sht, zoneImpr
zoneImpr = InputBox("entrer la zone d'impression", "Zone d'impression")
With Sht
.PageSetup.PrintArea = zoneImpr
' .PrintOut
.PrintPreview
End With
End Sub
*****
allez J@@, bosse un peu au lieu de te prélasser dans l'eau limpide de
quelque lagon des Tubuaï...
:-)))
allez J@@, bosse un peu au lieu de te prélasser dans l'eau limpide de
quelque lagon des Tubuaï...
:-)))
allez J@@, bosse un peu au lieu de te prélasser dans l'eau limpide de
quelque lagon des Tubuaï...
:-)))
Alors que dans 2 semaines je fais "tour escort", ma grande
reconnaissante ramenant 4 copines de ta région pour 3 semaines. Je pense
qu'elle vienne dans notre hiver pour échapper à votre canicule...
(j'ai bien aimé ta nouvelle adresse ;-)
@+
J@@
Alors que dans 2 semaines je fais "tour escort", ma grande
reconnaissante ramenant 4 copines de ta région pour 3 semaines. Je pense
qu'elle vienne dans notre hiver pour échapper à votre canicule...
(j'ai bien aimé ta nouvelle adresse ;-)
@+
J@@
Alors que dans 2 semaines je fais "tour escort", ma grande
reconnaissante ramenant 4 copines de ta région pour 3 semaines. Je pense
qu'elle vienne dans notre hiver pour échapper à votre canicule...
(j'ai bien aimé ta nouvelle adresse ;-)
@+
J@@