Règles du forum Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Sub ImprimerZones1()
Dim monDocument As Object, lesFeuilles As Object
Dim FeuilleCourante as Object, maFeuille As Object, maZone As Object
Dim Props(0) As New com.sun.star.beans.PropertyValue
Dim adrZones(0) As New com.sun.star.table.CellRangeAddress
Props(0).Name = "Wait"
Props(0).Value = True
monDocument = thisComponent
FeuilleCourante = monDocument.currentController.ActiveSheet
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("Etiquette")
maZone = maFeuille.getCellRangeByName("A1:H51")
monDocument.CurrentController.ActiveSheet = maFeuille
adrZones(0) = maZone.RangeAddress
maFeuille.PrintAreas = adrZones()
monDocument.Print(Props())
monDocument.CurrentController.ActiveSheet = FeuilleCourante
End Sub
Cela fonctionne parfaitement, mais lorsque je veux plusieurs exemplaires, je dois relancer ce morceau de code plusieurs fois (via un bouton qui correspond au nombre de fois).
J'aimerais en fonction du nombre situé dans une cellule (par exemple 5 dans la cellule A50) que libreoffice imprime 5 pages. Est-ce possible ?
Merci pour votre aide.
Dernière modification par gunsman le 21 juin 2019 11:19, modifié 2 fois.
Sub ImprimerZones()
Dim monDocument As Object, lesFeuilles As Object
Dim FeuilleCourante as Object, maFeuille As Object, maZone As Object
Dim Props(1) As New com.sun.star.beans.PropertyValue
Dim adrZones(0) As New com.sun.star.table.CellRangeAddress
monDocument = thisComponent
FeuilleCourante = monDocument.currentController.ActiveSheet
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("Nom_de_l_onglet")
maZone = maFeuille.getCellRangeByName("A1:U62")
monDocument.CurrentController.ActiveSheet = maFeuille
Props(0).Name = "Wait"
Props(0).Value = True
Props(1).Name = "CopyCount"
Props(1).Value = maFeuille.getCellRangeByName("A50").value
adrZones(0) = maZone.RangeAddress
maFeuille.PrintAreas = adrZones()
monDocument.Print(Props())
monDocument.CurrentController.ActiveSheet = FeuilleCourante
End Sub