J'ai un bouton impression où la macro défini actuellement une zone d'impression correspondant à deux pages allant de la colonne B à la colonne N.
Je voudrais savoir si il est possible de garder ces parametres mais en se basant aussi sur le nombre de lignes pleines. La plus part du temps une feuille suffit.
Macro actuelle
Sub Impression()
'
' IMPRESSION Macro
'
Range("A:A").Select
Selection.EntireColumn.Hidden = True
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
IgnorePrintAreas:=False
Range("A:A").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
End Sub
Dans mon cas non ca marche pas. Il faut supprimer la zone d impression predefini avant? Imprimer que la colonne B à N.
Tout est dans el desordre
Sub Impression()
'
Range("A:A").Select
Selection.EntireColumn.Hidden = True
With ActiveSheet
.PageSetup.PrintArea = .Cells(2).Resize(.Cells(Rows.Count, 2).End(3).Row, 13).Address
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
IgnorePrintAreas:=True
Range("A:A").Select
Selection.EntireColumn.Hidden = False
Range("A1").Select
End Sub
C'est exactement ce que fait mon code VBA
Il définit une zone d'impression de B1 à Nx
ou x est le numéro de ligne de la dernière cellule non vide de la colonne B.
bonjour le fil bonjour moreno076 bonjour staple1600 bonjour dranreb
j'ai testé la macro de staple 1600
elle fonctionne nickel
185 lignes à l'impression avec des lignes vides au milieu, de la colonne B à la colonne N
cordialement
galougalou
bonsoir le fil
dans la macro il n'y a pas printout ou printpreview. mais comme pour l'autre fil mon système n'accepte pas votre version de fichier 32 bits, donc à voir avec staple1600
@+
bonsoir le fil
dans la macro il n'y a pas printout ou printpreview. mais comme pour l'autre fil mon système n'accepte pas votre version de fichier 32 bits, donc à voir avec staple1600
@+
Donc je confirme ce que je disais dans le message#6
La preuve
VB:
Sub Impression_V2()
Dim Zone_Print As Range
With ActiveSheet
Set Zone_Print = .Cells(2).Resize(.Cells(Rows.Count, 2).End(3).Row, 13)
.PageSetup.PrintArea = Zone_Print.Address
MsgBox Zone_Print.Address
End With
End Sub
Dans le classeur joint il n'y avait pas 183 lignes renseignées dans la feuille Synthèse mais 9.
À l'ouverture, la zone d'impression était néanmoins définir à B1:N51.
après exécution de la macro Impression, du module Impression, qui ne fait pas d'impression d'ailleurs, la zone d'impression est définie à B1:N9.
Tout cela me semble très correct.