Zone d'impression

Résolu
Bonjour à tous!
La macro ci dessous me permet de sélectionner une plage bien défini à partir de la cellule active.
comment pourrais je définir la plage sélectionnée comme la zone d'impression puis lancer l'aperçu avant impression de la plage sélectionnée.

    Sub SelectPlage()

ActiveCell.CurrentRegion.Select
Colonne = ActiveCell.Column
Ligne = ActiveCell.Row
Feuil1.Range(Cells(Ligne, Colonne), Cells(Ligne + 34, Colonne + 12)).Select

End Sub


Merci

2 réponses

  1. Contributeur
    bonjour

    ca se fait tout seul avec l'enregistreur de macro !!!
    0
    1. Oui mais la plage que ma macro selectionne est dynamique, c'est n'importe quelle plage à partir de la cellule active
      Merci
      0
  2. Contributeur
    eh bé...

    colonne = ActiveCell.Column
    ligne = ActiveCell.Row

    ActiveSheet.PageSetup.PrintArea = Range(Cells(ligne, colonne), Cells(ligne + 34, colonne + 12))
    ActiveWindow.SelectedSheets.PrintPreview


    ou + en VBA
    Dim colonne As Integer, ligne As Long

    colonne = ActiveCell.Column
    ligne = ActiveCell.Row

    With ActiveSheet
    .PageSetup.PrintArea = Range(Cells(ligne, colonne), Cells(ligne + 34, colonne + 12))
    .PrintPreview
    End With
    End Sub

    Michel
    0
    1. Merci Monsieur Michel pour le temps que tu m'accorde.
      l'execusion de la 1ère macro génère une erreur dont le numero est 438 qui dit: Propriété ou methode non géréé par cet objet.
      La seconde macro marche mais il commence l'apercu par la 1ère page de la feuille et non l'apercu de la plage selectionnée.
      Merci
      0
    2. @BhuretMerci à vous!
      J'ai eu la réponse sur un autre forum
      Voici le code:
      Sub SelectPlage()
      ActiveCell.Resize(34, 12).Select
      ActiveSheet.PageSetup.PrintArea = ActiveCell.Resize(34, 12).Address
      ActiveCell.Resize(34, 12).PrintPreview
      End Sub
      0