Definir une zone d'impression

Bonjour à tous,

Comment pouvoir définir une zone d'impression de la première cellule à la dernière qui contiennent quelque chose? par un code.

Pour ce type de code je sais faire

ActiveWindow.SmallScroll Down:=-14
    Range("A1:H93").Select
    Range("H1").Activate
    ActiveSheet.PageSetup.PrintArea = "$A$1:$H$93"

Mais par "MsgBox" avec saisie de la première cellule à la dernière.

Là je vous donne comme exemple la "A1:H93"

mais j'ai de la "A1:h30 ou150 etc je ne sais pas faire.

Merci d'avance de votre aide

Amicalement

Noel

Bonjour Noel,

Essaie avec ça :

Sub Selection_Zone()
    Dim plage As Range
    'Tu peux utiliser la méthode Application.InputBox pour saisir des données
    'L'argument "Type" de cette méthode est ici égale à 8
    'Cela signifie que le type de données saisi dans l'inputbox sera une plage de cellules
    Set plage = Application.InputBox(Prompt:="Sélectionner la zone d'impression", Type:=8)
    ActiveSheet.PageSetup.PrintArea = plage.Address
End Sub

Bonjour vba-new,

Merci pour ce code qui me semble très intéressant.

Bien sure il fonctionne très bien.

Mais je voudrai savoir si on a la possibilité d'une sélection automatique de "A1" à la dernière ligne d'où se trouve une cellule rempli de données.

Merci de ton aide

Amicalement

Noel

Bonjour Noel

S'il s'agit toujours de la plage A1:Hx - En considérant que la colonne A détermine la dernière ligne remplie ( soit Range("A65536")... à modifier s'il s'agit d'une autre colonne)

Sub Imprime()
Dim derlg As Integer
derlg = Range("A65536").End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = "$A$1:$H$" & derlg
End Sub

Si le nombre de colonne peut évoluer également

Sub Imprime()
Dim plage As Range
plage = Range("A1").CurrentRegion.Address
ActiveSheet.PageSetup.PrintArea = plage
End Sub

Amicalement

Nad

Re,

Bonjour NAD,

Merci pour tous cela fonction avec tout et aussi celui de vba-new

@+

Amicalement

Noel

Rechercher des sujets similaires à "definir zone impression"