Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Xena10,
Voici une façon de faire :
Tu copies cette procédure dans le ThisWorkbook de ton classeur. Évidemment, tu adaptes le nom de la feuille où sont situées tes données, de même que l'adresse de tes 2 plages de cellules et l'orientation que doivent avoir chacune.
'---------------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet Dim Arr(1 To 2) '2 plages à imprimer Arr(1) = "A1:G25" Arr(2) = "K10:R40" 'Choix de la feuille Set Sh = Worksheets("Feuil1")
For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then For a = 1 To 2 With Sh With .PageSetup .PrintArea = Sh.Range(Arr(1)).Address If a = 1 Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If End With .PrintPreview 'Après tes tests -> .PrintOut End With Next End If Next
End Sub '----------------------------------
Salutations!
"xena10" a écrit dans le message de news: Bonjour, Je cherche le moyen d'imprimer une partie d'une feuille en paysage et une autre partie en portait...est ce possible?
Bonjour Xena10,
Voici une façon de faire :
Tu copies cette procédure dans le ThisWorkbook de ton classeur.
Évidemment, tu adaptes le nom de la feuille où sont situées tes
données, de même que l'adresse de tes 2 plages de cellules
et l'orientation que doivent avoir chacune.
'----------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet
Dim Arr(1 To 2)
'2 plages à imprimer
Arr(1) = "A1:G25"
Arr(2) = "K10:R40"
'Choix de la feuille
Set Sh = Worksheets("Feuil1")
For Each Sh In ActiveWindow.SelectedSheets
If Sh.Name = "Feuil1" Then
For a = 1 To 2
With Sh
With .PageSetup
.PrintArea = Sh.Range(Arr(1)).Address
If a = 1 Then
.Orientation = xlLandscape
Else
.Orientation = xlPortrait
End If
End With
.PrintPreview 'Après tes tests -> .PrintOut
End With
Next
End If
Next
End Sub
'----------------------------------
Salutations!
"xena10" <xena10@discussions.microsoft.com> a écrit dans le message de news: D9DF32B2-2A8F-42AA-AAB7-9C10DEC66FC9@microsoft.com...
Bonjour,
Je cherche le moyen d'imprimer une partie d'une feuille en paysage et une
autre partie en portait...est ce possible?
Tu copies cette procédure dans le ThisWorkbook de ton classeur. Évidemment, tu adaptes le nom de la feuille où sont situées tes données, de même que l'adresse de tes 2 plages de cellules et l'orientation que doivent avoir chacune.
'---------------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet Dim Arr(1 To 2) '2 plages à imprimer Arr(1) = "A1:G25" Arr(2) = "K10:R40" 'Choix de la feuille Set Sh = Worksheets("Feuil1")
For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then For a = 1 To 2 With Sh With .PageSetup .PrintArea = Sh.Range(Arr(1)).Address If a = 1 Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If End With .PrintPreview 'Après tes tests -> .PrintOut End With Next End If Next
End Sub '----------------------------------
Salutations!
"xena10" a écrit dans le message de news: Bonjour, Je cherche le moyen d'imprimer une partie d'une feuille en paysage et une autre partie en portait...est ce possible?
michdenis
Cette présentation est supérieure :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet Dim Arr(1 To 2)
'Choix de la feuille Set Sh = Worksheets("Feuil1") With Sh '2 plages à imprimer Arr(1) = .Name & "!" & Range("A1:G25").Address Arr(2) = .Name & "!" & .Range("K10:R40").Address End With
For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then For a = 1 To 2 With Sh With .PageSetup .PrintArea = Arr(a) If a = 1 Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If End With .PrintPreview End With Next End If Next
End Sub
Salutations!
"michdenis" a écrit dans le message de news: % Bonjour Xena10,
Voici une façon de faire :
Tu copies cette procédure dans le ThisWorkbook de ton classeur. Évidemment, tu adaptes le nom de la feuille où sont situées tes données, de même que l'adresse de tes 2 plages de cellules et l'orientation que doivent avoir chacune.
'---------------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet Dim Arr(1 To 2) '2 plages à imprimer Arr(1) = "A1:G25" Arr(2) = "K10:R40" 'Choix de la feuille Set Sh = Worksheets("Feuil1")
For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then For a = 1 To 2 With Sh With .PageSetup .PrintArea = Sh.Range(Arr(1)).Address If a = 1 Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If End With .PrintPreview 'Après tes tests -> .PrintOut End With Next End If Next
End Sub '----------------------------------
Salutations!
"xena10" a écrit dans le message de news: Bonjour, Je cherche le moyen d'imprimer une partie d'une feuille en paysage et une autre partie en portait...est ce possible?
Cette présentation est supérieure :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet
Dim Arr(1 To 2)
'Choix de la feuille
Set Sh = Worksheets("Feuil1")
With Sh
'2 plages à imprimer
Arr(1) = .Name & "!" & Range("A1:G25").Address
Arr(2) = .Name & "!" & .Range("K10:R40").Address
End With
For Each Sh In ActiveWindow.SelectedSheets
If Sh.Name = "Feuil1" Then
For a = 1 To 2
With Sh
With .PageSetup
.PrintArea = Arr(a)
If a = 1 Then
.Orientation = xlLandscape
Else
.Orientation = xlPortrait
End If
End With
.PrintPreview
End With
Next
End If
Next
End Sub
Salutations!
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news: %23Hi3UeXHGHA.2212@TK2MSFTNGP15.phx.gbl...
Bonjour Xena10,
Voici une façon de faire :
Tu copies cette procédure dans le ThisWorkbook de ton classeur.
Évidemment, tu adaptes le nom de la feuille où sont situées tes
données, de même que l'adresse de tes 2 plages de cellules
et l'orientation que doivent avoir chacune.
'----------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet
Dim Arr(1 To 2)
'2 plages à imprimer
Arr(1) = "A1:G25"
Arr(2) = "K10:R40"
'Choix de la feuille
Set Sh = Worksheets("Feuil1")
For Each Sh In ActiveWindow.SelectedSheets
If Sh.Name = "Feuil1" Then
For a = 1 To 2
With Sh
With .PageSetup
.PrintArea = Sh.Range(Arr(1)).Address
If a = 1 Then
.Orientation = xlLandscape
Else
.Orientation = xlPortrait
End If
End With
.PrintPreview 'Après tes tests -> .PrintOut
End With
Next
End If
Next
End Sub
'----------------------------------
Salutations!
"xena10" <xena10@discussions.microsoft.com> a écrit dans le message de news: D9DF32B2-2A8F-42AA-AAB7-9C10DEC66FC9@microsoft.com...
Bonjour,
Je cherche le moyen d'imprimer une partie d'une feuille en paysage et une
autre partie en portait...est ce possible?
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet Dim Arr(1 To 2)
'Choix de la feuille Set Sh = Worksheets("Feuil1") With Sh '2 plages à imprimer Arr(1) = .Name & "!" & Range("A1:G25").Address Arr(2) = .Name & "!" & .Range("K10:R40").Address End With
For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then For a = 1 To 2 With Sh With .PageSetup .PrintArea = Arr(a) If a = 1 Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If End With .PrintPreview End With Next End If Next
End Sub
Salutations!
"michdenis" a écrit dans le message de news: % Bonjour Xena10,
Voici une façon de faire :
Tu copies cette procédure dans le ThisWorkbook de ton classeur. Évidemment, tu adaptes le nom de la feuille où sont situées tes données, de même que l'adresse de tes 2 plages de cellules et l'orientation que doivent avoir chacune.
'---------------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet Dim Arr(1 To 2) '2 plages à imprimer Arr(1) = "A1:G25" Arr(2) = "K10:R40" 'Choix de la feuille Set Sh = Worksheets("Feuil1")
For Each Sh In ActiveWindow.SelectedSheets If Sh.Name = "Feuil1" Then For a = 1 To 2 With Sh With .PageSetup .PrintArea = Sh.Range(Arr(1)).Address If a = 1 Then .Orientation = xlLandscape Else .Orientation = xlPortrait End If End With .PrintPreview 'Après tes tests -> .PrintOut End With Next End If Next
End Sub '----------------------------------
Salutations!
"xena10" a écrit dans le message de news: Bonjour, Je cherche le moyen d'imprimer une partie d'une feuille en paysage et une autre partie en portait...est ce possible?
JB
Bonjour,
PJ: http://cjoint.com/?buhO78v6Mb
(Obtenu par l'enregistrement Automatique)
Sub ImprimeZone1() ActiveSheet.PageSetup.PrintArea = "$B$3:$C$14" ActiveSheet.PageSetup.Orientation = xlPortrait ActiveSheet.PrintPreview ' ou ActiveSheet.printout End Sub
Sub ImprimeZone2() ActiveSheet.PageSetup.PrintArea = "$H$8:$L$14" ActiveSheet.PageSetup.Orientation = xlLandscape ActiveSheet.PrintPreview ' ou ActiveSheet.printout End Sub
Cordialement JB
Bonjour,
PJ: http://cjoint.com/?buhO78v6Mb
(Obtenu par l'enregistrement Automatique)
Sub ImprimeZone1()
ActiveSheet.PageSetup.PrintArea = "$B$3:$C$14"
ActiveSheet.PageSetup.Orientation = xlPortrait
ActiveSheet.PrintPreview ' ou ActiveSheet.printout
End Sub
Sub ImprimeZone2()
ActiveSheet.PageSetup.PrintArea = "$H$8:$L$14"
ActiveSheet.PageSetup.Orientation = xlLandscape
ActiveSheet.PrintPreview ' ou ActiveSheet.printout
End Sub
Sub ImprimeZone1() ActiveSheet.PageSetup.PrintArea = "$B$3:$C$14" ActiveSheet.PageSetup.Orientation = xlPortrait ActiveSheet.PrintPreview ' ou ActiveSheet.printout End Sub
Sub ImprimeZone2() ActiveSheet.PageSetup.PrintArea = "$H$8:$L$14" ActiveSheet.PageSetup.Orientation = xlLandscape ActiveSheet.PrintPreview ' ou ActiveSheet.printout End Sub