Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb VBA: Selection zone impression variable

2 réponses
Avatar
Christophe Joly
Bonsoir:

J'ai la macro Sub Imprimer qui me permet d'imprimer sur une page chacune des
feuilles d'un classeur à l'exeption de 8 d'entres elles.
Mon problème est que pour chaque feuille 2 pages sont imprimées dont une
blanche. J'aimerais pouvoir selectionner et imprimer que la partie "non
vide" de chacune de ces feuilles dont le nombre de colonnes en largeur est
constant (4) de A à D et la longueur est variable mais techniquement peut
etre contenu sur une page A4

Je sais que pour selectionner la partie "non vide" d'une feuille je peux
ecrire...

DerniereLigneColA = Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1:D" & DerniereLigneColA).Select

...mais je ne sais pas comment l'intégrer dans la macro si dessous.

Merci.

Christophe

'-----------------------------------------
Sub Imprimer()
For Each sh In ThisWorkbook.Sheets
Select Case sh.Name
'Groupe de feuilles qui ne seront pas imprimées
Case Is = "Instructions", "Country Data", "Company Data", _
"Country Appointments", "Template Fax", _
"Transitory1", "Company Appointments", "Transitory2"
Case Else
'Tous les autres feuilles seront imprimées
With Worksheets(sh.Name)
With .PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
End With
End Select
Next sh

End Sub
'-----------------------------------------

2 réponses

Avatar
ru-th
Salut
non testé
With Worksheets(sh.Name)
.PageSetup.PrintArea = "$A$1:$D$"&.Range("A65536").End(xlUp).Row

With .PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
End With


--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Christophe Joly" a écrit dans le message de news:

Bonsoir:

J'ai la macro Sub Imprimer qui me permet d'imprimer sur une page chacune
des

feuilles d'un classeur à l'exeption de 8 d'entres elles.
Mon problème est que pour chaque feuille 2 pages sont imprimées dont une
blanche. J'aimerais pouvoir selectionner et imprimer que la partie "non
vide" de chacune de ces feuilles dont le nombre de colonnes en largeur est
constant (4) de A à D et la longueur est variable mais techniquement peut
etre contenu sur une page A4

Je sais que pour selectionner la partie "non vide" d'une feuille je peux
ecrire...

DerniereLigneColA = Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1:D" & DerniereLigneColA).Select

...mais je ne sais pas comment l'intégrer dans la macro si dessous.

Merci.

Christophe

'-----------------------------------------
Sub Imprimer()
For Each sh In ThisWorkbook.Sheets
Select Case sh.Name
'Groupe de feuilles qui ne seront pas imprimées
Case Is = "Instructions", "Country Data", "Company Data", _
"Country Appointments", "Template Fax", _
"Transitory1", "Company Appointments", "Transitory2"
Case Else
'Tous les autres feuilles seront imprimées
With Worksheets(sh.Name)
With .PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
End With
End Select
Next sh

End Sub
'-----------------------------------------





Avatar
Christophe Joly
Thierry:

A cette heure ce forum est ton royaume.
Ta proposition à l'air de fonctionner mais je n'ai plus d'encre pour la
tester.

Merci.

Christophe
"ru-th" a écrit dans le message de
news:%
Salut
non testé
With Worksheets(sh.Name)
.PageSetup.PrintArea = "$A$1:$D$"&.Range("A65536").End(xlUp).Row

With .PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
End With


--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Christophe Joly" a écrit dans le message de news:

Bonsoir:

J'ai la macro Sub Imprimer qui me permet d'imprimer sur une page chacune
des

feuilles d'un classeur à l'exeption de 8 d'entres elles.
Mon problème est que pour chaque feuille 2 pages sont imprimées dont une
blanche. J'aimerais pouvoir selectionner et imprimer que la partie "non
vide" de chacune de ces feuilles dont le nombre de colonnes en largeur
est


constant (4) de A à D et la longueur est variable mais techniquement
peut


etre contenu sur une page A4

Je sais que pour selectionner la partie "non vide" d'une feuille je peux
ecrire...

DerniereLigneColA = Range("A65536").End(xlUp).Row
ActiveSheet.Range("A1:D" & DerniereLigneColA).Select

...mais je ne sais pas comment l'intégrer dans la macro si dessous.

Merci.

Christophe

'-----------------------------------------
Sub Imprimer()
For Each sh In ThisWorkbook.Sheets
Select Case sh.Name
'Groupe de feuilles qui ne seront pas imprimées
Case Is = "Instructions", "Country Data", "Company Data", _
"Country Appointments", "Template Fax", _
"Transitory1", "Company Appointments", "Transitory2"
Case Else
'Tous les autres feuilles seront imprimées
With Worksheets(sh.Name)
With .PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
.PrintOut Copies:=1, Collate:=True
End With
End Select
Next sh

End Sub
'-----------------------------------------