definir une zone d'impression  Sujet résolu

Pour toutes vos questions à propos d'Excel ...

definir une zone d'impression

Messagepar cfn3cfn » 20 Mai 2011, 03:52

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
Code: Tout sélectionner
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
Amicalement
Noël
Proverbe ZEN "Une image vaut dix mille mots"
"Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours."
En se résignant le malheureux consomme son malheur
cfn3cfn
Membre impliqué
 
Messages: 1057
Inscription: 09 Oct 2008, 08:33
Localisation: Ile de la Réunion
Version Excel: 2004 MAC

Re: definir une zone d'impression

Messagepar vba-new » 20 Mai 2011, 06:48

Bonjour Noel,

Essaie avec ça :
Code: Tout sélectionner
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
vba-new
vba-new
Membre impliqué
 
Messages: 2586
Inscription: 13 Mai 2009, 10:27
Version Excel: 2010 FR

Re: definir une zone d'impression

Messagepar cfn3cfn » 20 Mai 2011, 07:21

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
Amicalement
Noël
Proverbe ZEN "Une image vaut dix mille mots"
"Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours."
En se résignant le malheureux consomme son malheur
cfn3cfn
Membre impliqué
 
Messages: 1057
Inscription: 09 Oct 2008, 08:33
Localisation: Ile de la Réunion
Version Excel: 2004 MAC

Re: definir une zone d'impression

Messagepar Nad » 20 Mai 2011, 07:42

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)

Code: Tout sélectionner
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
Code: Tout sélectionner
Sub Imprime()
Dim plage As Range
plage = Range("A1").CurrentRegion.Address
ActiveSheet.PageSetup.PrintArea = plage
End Sub

Amicalement
Nad
Avatar de l’utilisateur
Nad
Modérateur
 
Messages: 3163
Inscription: 16 Mars 2008, 21:05
Localisation: BAYONNE
Version Excel: 2003 FR - 2007 FR

Re: definir une zone d'impression  Sujet résolu

Messagepar cfn3cfn » 20 Mai 2011, 09:03

Re,
Bonjour NAD,
Merci pour tous cela fonction avec tout et aussi celui de vba-new
@+
Amicalement
Noel
Amicalement
Noël
Proverbe ZEN "Une image vaut dix mille mots"
"Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours."
En se résignant le malheureux consomme son malheur
cfn3cfn
Membre impliqué
 
Messages: 1057
Inscription: 09 Oct 2008, 08:33
Localisation: Ile de la Réunion
Version Excel: 2004 MAC


Retourner vers Excel - VBA

 


  • Sujets similaires
    Réponses
    Vus
    Dernier message

Utilisateurs en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Google [Bot], Google Adsense [Bot] et 17 invités