Range d'impression géré par le contenu d'une cellule

zazou5908

XLDnaute Nouveau
Bonjour le forum,

J'ai un petit problème pour intégrer le contenu d'une cellule comme dernière ligne à imprimer.

Dans ma feuille "Paramètres", dans la cellule "B4", j'ai un nombre

Dans la macro que j'ai faite construit au départ avec l'aide de l'enregistreur, j'ai ceci:

Sheets("Report").Select

With ActiveSheet.PageSetup
.PrintArea = "$A$1:$W$ & Sheets("Paramètres").Range("B4")"
.PrintTitleRows = "$1:$10"
.PrintTitleColumns = ""
.LeftHeader = ""

Cela coince au niveau du compilateur au niveau de la définition du ".printArea".

Je veux utiliser le contenu d'une cellule pour déterminer la dernière ligne à imprimer car c'est le même classeur qui va me servir à plusieurs rapports dont la longueur est variable !

Quelqu'un pourrait-il m'aider à trouver la solution ? L'approche du problème est-elle bonne ou faut-il procéder d'une tout autre manière ?

D'avance je remercie tous les lecteurs et les contributeurs qui font un travail remarquable.

A+
 

Jocelyn

XLDnaute Barbatruc
Re : Range d'impression géré par le contenu d'une cellule

Bonjour le Forum,
Bonjour zazou5908,

Je ne suis pas en mesure de t'aider en VBA, mais par formule il y a une solution pour que la Zone d'impression dépende soit du nombre de ligne soit du nombre de colonne soit des 2.

Dans le fichier cette zone depent des 2 pour cela je suis allé dans menu insertion => nom => définir dans la fenetre qui s'ouvre dans le champ "nom dans le classeur" taper : zone_d_impression et dans le champ "fait référence à" taper la formule : =DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A);NBVAL(Feuil1!$1:$1))

dans cet exemple si tu ne met pas de valeur en A9 la plage ira de A1 à F8 et si tu suprime la valeur de F1 la plage ira de A1 à E8 etc etc..

Espérant t'avoir dépanné en attendant un VBiste

Jocelyn
 

Pièces jointes

  • zazou5908.zip
    1.5 KB · Affichages: 28

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 861
Membres
103 979
dernier inscrit
imed