Bonsoir,
Avec ta macro un peu ré-aménagée
ça devrait rouler ...
Sub ImprimerFeuilles()
REM Déclarations
'---------------------------------
Dim lesFeuilles As Object
Dim maFeuille As Object
Dim nbF As Long
Dim adrZones( 1 ) As New com.sun.star.table.CellRangeAddress
'---------------------------------
lesFeuilles = ThisComponent.Sheets
nbF = lesFeuilles.Count
Print "nb feuilles " & nbF
For x = 0 To nbF - 1
'print "Feuille "& lesFeuilles( x ).Name
adrZones( 0 ) = lesFeuilles( x ).getCellRangeByName( "A2:B3"
).RangeAddress
adrZones( 1 ) = lesFeuilles( x ).getCellRangeByName( "B7:D9"
).RangeAddress
lesFeuilles(x).PrintAreas = adrZones()
Next
End Sub
Francois
Sarah Haïm-Lubczanski a écrit :
Bonjour,
Est-il possible par macro d'imprimer plusieurs feuilles (ou le classeur
entier) ?
J'ai tenté de définir pour chaque feuille une zone d'impression, mais
lorsque je lance l'aperçu (par le logiciel manuellement), je ne vois
qu'une feuille.
Mon code
Sub ImprimerFeuilles()
REM Déclarations
'---------------------------------
Dim lesFeuilles as object, monDoc as object
dim maFeuille as object, macellule as variant
dim maZone as object
dim lesZones as Object, adrZones
dim nbF as Long
'---------------------------------
monDoc = monDocument(TRUE)
lesFeuilles = monDoc.Sheets
nbF = lesFeuilles.Count
print "nb feuilles " & nbF
for x = 0 to nbF - 1
maFeuille = lesFeuilles(x)
'print "Feuille "& maFeuille.Name
maZone = maFeuille.getCellRangeByName("B4:E6")
adrZones(0) = maZone.RangeAddress
maZone = maFeuille.getCellRangeByName("G6:K8")
adrZones(1) = maZone.RangeAddress
maFeuille.PrintAreas = adrZones()
next
End Sub
Sarah Haïm-Lubczanski
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]