Zone d'impression VBA

Aurore14

XLDnaute Nouveau
Bonjour à toutes et à tous

J'ai une petite question, j'aimerais sélectionner une zone d'impression mais j'ai quelques difficultés... En faisant un recherche sur le forum j'ai trouvé ca :

Range('A5').Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address


Ca marche nikel, sauf qu'il y a un hic pour mon cas...

En effet j'aimerais que cela me sélectionne les lignes dont la colonne A n'est pas zéro. En fait de la ligne 1 jusqu'a la ligne dont la cellule Ax n'est pas zéro..

Je ne peux pas retirer les zéros malheureusement..

Je vais essayer de joindre un exemple, pour être plus claire :eek:

Merci d'avance :lol: :silly:

Aurore [file name=ZoneImpression.zip size=6036]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ZoneImpression.zip[/file]
 

Pièces jointes

  • ZoneImpression.zip
    5.9 KB · Affichages: 30
  • ZoneImpression.zip
    5.9 KB · Affichages: 26
  • ZoneImpression.zip
    5.9 KB · Affichages: 29

porcinet82

XLDnaute Barbatruc
Salut Aurore,

Je ne comprend pas, dans ton exemple, tu n'as pas de 0 que ce soit dans la colonne A ou ailleur.
Ce qui soulève une autre question, si tu as dans tes 5 premières lignes (de la colonne A) des valeurs autres que 0, puis 2 lignes avec 0 et enfin 1 lignes avec un nombre différent de 0, tu veux imprimer seulement les lignes de 1 à 5 ainsi que la ligne 8?
D'ou je suppose l'utilisation de tes filtres ? Si c'est le cas, le code est un peu a revoir mais ca ne doit pas etre tres compliqué.

@+
 

porcinet82

XLDnaute Barbatruc
re,

Je viens de jeter un oeil, et en utilisant les hypoothèses que je t'ai faite avant, ca donnerait quelques chose du genre :
Code:
Sub test()
Selection.AutoFilter Field:=1, Criteria1:='‹›0', Operator:=xlAnd
Range('A65536').Select
Selection.End(xlUp).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlToRight)).Select
ActiveSheet.PageSetup.PrintArea = Selection.Address
End Sub

Tiens moi au courant,

@+

PS: pense a remplacer les ‹› par leur homologues
 

vekmort

XLDnaute Occasionnel
Bonjour,

J'ai du être un petit peu long, mais je poste quand même ce petit essai :
Je crois qu'il est intéressant d'utiliser la mise en page pour figer les premières lignes...

Sub MaZoneDImpression()
'Par le biais du menu 'mise ne page',
'vous pouvez figer des en-têtes pour la zone d'impression
ActiveSheet.PageSetup.PrintTitleRows = '$1:$6'

'Ensuite, définir la zone d'impression qui dans votre cas correspond à :
'Toutes les lignes dont la valeur en colonne A jusqu'à ce que ce soit = '0'
Lignes = 7
For i = 7 To Cells(7, 1).End(xlDown).Row
If Cells(i, 1).Value = 0 Then GoTo Z:
Lignes = Lignes + 1
Next i
Z:
ActiveSheet.PageSetup.PrintArea = Range(Cells(7, 1), Cells(Lignes - 1, 1)).EntireRow.Address
End Sub

Voilà, en retard, mais j'ai du travailler...

vekmort adele
 

Bricofire

XLDnaute Impliqué
Bonsoir tout le monde, :)

Aurore14, avant d'en faire un fromage... de chèvre :) Fais attention à ceci :
Les caractères Sup et Inf, donc différents de (les flèches à plat quoi) empêchent les messages de passer sur le forum, il faut les remplacer par du texte ou inover ;)
En espérant que ce soit la source de ton pb,
Bonne soirée,

Brico
 

Aurore14

XLDnaute Nouveau
Voici le message que je voulais envoyer hier (on va voir, j'ai remplacé les 'sup' et 'inf' :

Salut!!

Alors après plusieurs essai avec la proposition de porcinet82 (car étant novice en VBA, j'ai pas compris l'histoire des if et des for... :( )


du coup j'ai pris ca :

Code:
    Selection.AutoFilter Field:=1, Criteria1:=''différent de' 0', Operator:=xlAnd
    Range('A65536').Select
    Selection.End(xlUp).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlUp)).Select
    ActiveSheet.PageSetup.PrintArea = Selection.Address

Car y'avait un truc qui marchait pas (quoi je saurais pas vous dire) :whistle: alors avec vos infos j'ai essayé de mettre a ma sauce

Par contre, ca marche presque du tonnerre du feu de dieu... mais y'a un pti hic, ca ne prends pas a chaque fois ma colonne J (normal s'il n'y a rien dedans!) alors que toujours, dans tout les cas je devrais l'imprimer (colonnes A à J, c'est le nombre de lignes qui varient)

Auriez vous la possibilité de me dire comment faire?

En tout cas merci car meme si y'a pas la derniere option, c'est du grandiose, je suis épatée :lol: :side: :silly: :pinch:

Merci pour votre aide en tout cas!

Aurore
 

Discussions similaires

Statistiques des forums

Discussions
312 508
Messages
2 089 143
Membres
104 050
dernier inscrit
Pepito93100