definition impression

  • Initiateur de la discussion Initiateur de la discussion eduraiss
  • 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 !

eduraiss

XLDnaute Accro
Bonjour le forum
j'ai un problème au niveau de l'impression
J'ai un code (ci_dessous) qui me permet de faire plusieurs copies (trois copies) mais il arrive parfois que si une colonne est agrandie l'impression se fait en double (donc 6 feuilles)

comment faire que même si une colonne est agrandie je sorte qu'un trois feuilles
merci a vous

'impression Z1A
Range("B1:J40").Select
ActiveSheet.PageSetup.PrintArea = "$B$1:$J$40"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("B2").Select

'impression Z1B
Range("B41:J89").Select
ActiveSheet.PageSetup.PrintArea = "$B$41:$J$89"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("B2").Select

'impression Z3
Range("B90:J149").Select
ActiveSheet.PageSetup.PrintArea = "$B$90:$J$143"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("B2").Select
 
Re : definition impression

Essaie ca, à partir de ton code :

'impression Z1A
Range("B1:J40").Select
with ActiveSheet.PageSetup
.PrintArea = "$B$1:$J$40"
.FitToPagesWide = 1
.FitToPagesTall = 1
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("B2").Select
 
Re : definition impression

Autant pour moi

Celle-là fonctionne, j'ai testé

Sub test()
'impression Z1A
Range("B1:J40").Select
With ActiveSheet.PageSetup
.PrintArea = "$B$1:$J$40"
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("B2").Select
End Sub
 
Re : definition impression

Re


Tu n'a pas essayer avec une plage de cellules nommée dynamiquement?

You could manage this by using a Dynamic Named Range, but if you want a VBA solution entirely try

Option Explicit

Sub SetPrintArea()
Dim PrintA As Range
Dim c As Long
'find the last used column in the range (Columns.Count)
'by working from the extreme right, the true last column is found,
'avoiding possible empty cells within that row
c = ActiveSheet.Cells(21, Columns.Count).End(xlToLeft).Column
'this will start at A21
Set PrintA = ActiveSheet.Range(Cells(21, 1), Cells(Rows.Count, c).End(xlUp))
PrintA.PrintPreview
End Sub
 
Dernière édition:
Re : definition impression

Re

Si tu as bien nommée ta plage de cellules nommée

si tu insères une colonne dans celle-ci

la zone nommée en tiendra compte automatiquement

alors dans ton code tu marques

ActiveSheet.PageSetup.PrintArea = [plagenommee]
 
- 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
1
Affichages
1 K
  • Question Question
Microsoft 365 Impression
Réponses
3
Affichages
957
Réponses
19
Affichages
2 K
Réponses
2
Affichages
719
Retour