Définir la zone d'impression variable en VBA

cineseb

XLDnaute Nouveau
Salut à tous,

J'ai des petites macros qui me permettent de masquer ou afficher des colonnes selon les choix, et d'appliquer ensuite certains filtres.
Je souhaite qu'une fois les filtres appliqués, la zone d'impression se définisse automatiquement de la cellule A1 à la cellule AV (ma derniere colonne), dernière ligne du tableau.
J'ai essayé ça :
Code:
ligne = Range('A400').End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = Range('A1', Cells(ligne, 48))
Qui me semble correct à première vue, mais ça ne marche pas.
Remarque : mon tableau contient en fait tout en bas (dans les lignes 600, un paquet de données, récupérées d'un autre fichier, qui me servent à faire des zones de validation. Mais il me semblait qu'en mettant Range ('A400'), end (xlup), ça me prenait la derniere occupée dans la plage A1:A400... non ?
De plus apparemment c'est bon, j'avais fais un pas à pas détaillé avec un espion dans vba, il me donne bien la valeur qu'il me faut pour la variable 'ligne', en général dans les 340.
Est-ce que ça voudrait dire qu'il me sélectionne 340 lignes parmi celles affichées ? (probable vu la zone d'impression qu'il me fait).
Et dans ce cas comment faire ?

Merci, j'espère avoir été clair parce que je constate que j'ai fait long...
 

jeromevde

XLDnaute Nouveau
Bonjour,

Cineseb j'aimerais pouvoir faire la meme chose que toi. C'est a dire pouvoir cacher une serie de colonnes ou de rangées et ensuite d'imprimer le tableau en definissant la zone d'impression sur les colonnes et rangées restantes.

Peux-tu m'aider ? Je n'ai jamais programmé en VBA , je debute completement et suis perdu.

Merci de ton aide.

Jerome
 

Discussions similaires

Réponses
4
Affichages
440