Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VBA zone d'impression variable en nombre de lignes ET de colonnes

fabancel

XLDnaute Junior
Bonjour.

J'ai trouvé beaucoup de sujets résolus sur des macros qui permettent de définir des zones d'impression sur un nombre variable de lignes mais à nombre de colonnes fixe. Je ne trouve rien pour les zones dont le nombre de colonnes est variable.

J'ai déjà une macro qui vient remplir mon tableau en rajoutant des colonnes et des lignes. si je l'exécute 3 fois, j'aurais 3 colonnes (etc...) en plus des libellés à gauche. En fonction des données importées, le nombre de lignes peut également varier.

Je voudrais que cette nouvelle macro sélectionne depuis la case A6 jusqu'à la fin du tableau (dont je ne connais à priori ni le nombre de colonnes, ni le nombre de lignes) puis définisse cette zone comme zone d'impression.

Merci beaucoup aux génies qui pourront m'aider.
 

tototiti2008

XLDnaute Barbatruc
Re : VBA zone d'impression variable en nombre de lignes ET de colonnes

Bonjour fabancel,

Peut-être, en fonction des données de ta feuille

Code:
ActiveSheet.PageSetup.PrintArea = Range("A6").CurrentRegion.Address
 

fabancel

XLDnaute Junior
Re : VBA zone d'impression variable en nombre de lignes ET de colonnes

Bonjour tototiti2008.

Merci mais ça ne fonctionne pas.

Je vous joins le classeur. La macro s'appelle "impression"

Elle se trouve sur la feuille "Feuil1"

Ce tableau est complété quand j'actionne la macro sur le bouton "comparateur" qui sur la feuille "module interrogation"

Merci pour vos conseils.
 

Pièces jointes

  • code mvt.xls
    129.5 KB · Affichages: 171
  • code mvt.xls
    129.5 KB · Affichages: 185
  • code mvt.xls
    129.5 KB · Affichages: 192

tototiti2008

XLDnaute Barbatruc
Re : VBA zone d'impression variable en nombre de lignes ET de colonnes

Re,

alors peut-être

Code:
    Range(Range("A6"), Range("A65536").End(xlUp).End(xlToRight)).Select
    ActiveSheet.PageSetup.PrintArea = Selection
 

fabancel

XLDnaute Junior
Re : VBA zone d'impression variable en nombre de lignes ET de colonnes

Merci Beaucoup de votre persévérance.

Seulement, je crains que cela ne fonctionne pas.

J'avais essayé ce code. Il réussit bien à sélectionner la bonne zone, mais ne la définit pas comme zone d'impression.

La preuve :
Etant donné que la zone commence à la sixème ligne ("A6"), les 5 lignes précédentes, dans lesquelles apparait le bouton "clear", ne devraient pas être imprimées. Or, en lançant la macro, on obtient une impression où apparaît le bouton.

Donc ça ne fonctionne pas et je m'arrache les cheveux sur ce code.

désolé de vous embêter mais si quelqu'un avait une solution, ce serait top.

Merci encore.
 

job75

XLDnaute Barbatruc
Re : VBA zone d'impression variable en nombre de lignes ET de colonnes

Bonjour fabancel, salut Marc,

Code:
ActiveSheet.PageSetup.PrintArea = ActiveSheet.UsedRange.Address
définira bien la zone d'impression...

... à condition de supprimer plus bas :

Code:
ActiveSheet.PageSetup.PrintArea = ""
Une fois la zone d'impression définie, il ne faut pas l'annuler

A+
 

job75

XLDnaute Barbatruc
Re : VBA zone d'impression variable en nombre de lignes ET de colonnes

Re,

Pour être complet, s'il y a des cellules renseignées sur les lignes 1 à 5, utilisez :

Code:
Dim plage As Range
Set plage = Intersect([6:65536], ActiveSheet.UsedRange)
If Not plage Is Nothing Then ActiveSheet.PageSetup.PrintArea = plage.Address
A+
 

Discussions similaires

Réponses
7
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…