Définir la zone d'impression variable en VBA

  • Initiateur de la discussion Initiateur de la discussion cineseb
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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...
 
Bonjour cineseb, le forum

Printarea attend les adresses d'une plage, et non une plage comme indiquer dans ton code.

ceci devrait fonctionner :

ligne = Range('A400').End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = Range('A1', Cells(ligne, 48)).Address

salut
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
164
Réponses
7
Affichages
797
Retour