Vba impression zone variable et previsualisation page a imprimer

Bonjour,

voila mon souci, j'utilise la macro suivante afin d'imprimer une feuille comportant des donnes a dimension variable, pas de souci jusque la.

en revanche, je n'arrive pas a inserer une commande me permettant de previsualiser a lecran ma zone d'impression avant de lancer l'impression ?

2me question : ou definir la zone d'impression si je veux pouvoir a partir d'une macro similaire, imprimer une autre feuille de mon classeur

merci de votre aide

Sub impression_liste_commandes() 'toutes les 52 lignes (à régler)
Dim N As Long
Dim I As Integer, Rep As Integer
With ActiveSheet
With ActiveSheet.PageSetup
.PrintTitleRows = "$A$1:$I$5"
End With
N = .Range("b65536").End(xlUp).Row
.ResetAllPageBreaks 'efface sauts de pages existants
.PageSetup.PrintArea = "A2:h" & N
For I = 1 To N / 52
.HPageBreaks.Add Before:=Rows(I * 52 + 2)
Next I
Rep = MsgBox("On imprime ?", vbYesNo + vbCritical + vbDefaultButton2, "Impression")
If Rep = vbYes Then
.PrintOut
End If
End With
End Sub

1 réponse

  1. Bonjour, j'ai une macro de ce genre-là, je te donne le code

    Sub Enreg_Pdf()
    'Enregistre la feuille Archives du classeur en pdf. Nécessite une imprimante virtuelle comme PDFCreator.
    Dim S1, S4 As Byte
    Dim fichier_pdf As String
    d = Range("A65000").End(xlUp)
    Sheets("Archives").Select
    S1 = Range("A6").Value
    S4 = d
    Columns("D:J").Hidden = True
    Rows("1:3").Hidden = True
    Sheets("Archives").PageSetup.CenterHorizontally = True
    Sheets("Archives").PageSetup.CenterVertically = True
    With ActiveSheet.PageSetup
    .CenterHeader = "Heures des salariés pour les semaines " & S1 & " à " & S4
    End With
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "Heures des salariés.pdf", Quality:= _
    xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
    From:=1, To:=1, OpenAfterPublish:=True
    Application.Dialogs(xlDialogPrint)
    End Sub


    Là c'est pour imprimer en pdf. Il ne te restes plus qu'à modifier le code selon tes besoins
    1. Cela fonctionne tres bien mais ne repond pas a ma question sur l'affichage d'un "preview"