Zone d'impression

Résolu
Bhuret -  
 Bhuret -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour

    ca se fait tout seul avec l'enregistreur de macro !!!
    0
    1. Bhuret
       
      Oui mais la plage que ma macro selectionne est dynamique, c'est n'importe quelle plage à partir de la cellule active
      Merci
      0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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. Bhuret
       
      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
      1. Bhuret > Bhuret
         
        Merci à 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