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

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
bonjour

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