Page 1 sur 1

[Résolu][Calc] Imprimer les zones de la feuille affichée

MessagePublié: 10 Août 2019 01:25
par MLAR
Bonjour,

Je rencontre des difficultés pour écrire une macro afin d'imprimer uniquement les colonnes et lignes de parties définies d'une même feuille.

Le traitement de l'information s'effectue sur cette feuille. Elle comprend une partie de renseignements généraux et un traitement mois par mois d'une gestion de présence.
C'est un même bouton "imprimer feuille" qui circule sur les sélections de mois ou de renseignements appelés.
L'ensemble des données est sur une feuille nommée "liste des noms". on accède aux différentes rubriques à partir d'une feuille "accueil" qui permet de naviguer en fonction d'un choix.

Ci-joint le fichier concerné :
test 7 cantine.ods
(116.7 Kio) Téléchargé 23 fois


Merci à tous pour votre aide précieuse.

Re: [Calc] Imprimer les zones de la feuille affichée

MessagePublié: 10 Août 2019 01:34
par micmac
Bonjour,

Cette section a des règles très précises que vous devez obligatoirement suivre pour obtenir de l'aide. C'est indiqué dans le cadre rouge en haut de la page.

Il est demandé aux auteurs de faire précéder le titre de leur question d'une balise adéquate. Ce balisage est extrêmement important car il permet d'avoir une base de connaissance optimum en cas de recherche.
Avez-vous remarqué comment étaient postées les autres questions ?

Lisez ce fil pour savoir quelle balise utiliser : sutra27295.html#27295

N'oubliez pas que les termes Macro, OpenOffice ne doivent pas être employés car il sont implicites. Essayez de synthétiser au mieux ce que vous cherchez à faire.

Un titre accrocheur vous permettra d'une part d'être aidé plus rapidement et d'autre part, d'enrichir notre base de connaissances.

Nous l'avons fait pour vous cette fois-ci mais lors de votre prochaine question, nous vous remercions de le faire vous-même au risque de voir votre sujet verrouillé.

Merci de votre collaboration.

Re: [Calc] Imprimer les zones de la feuille affichée

MessagePublié: 10 Août 2019 05:06
par OOotremer971
Bonjour,

A tester :
Code : Tout sélectionner   AgrandirRéduire
sub imprimer
Dim Props() As New com.sun.star.beans.PropertyValue
Dim adrZones(0) As New com.sun.star.table.CellRangeAddress
feuille = thiscomponent.CurrentController.ActiveSheet
lesLignes = feuille.RowDescriptions
lesCols = feuille.ColumnDescriptions
colDeb = split(lesCols(Lbound(lesCols))," ")(1)
colFin = split(lesCols(Ubound(lesCols))," ")(1)
lignDeb = split(lesLignes(Lbound(lesLignes))," ")(1)
lignFin = split(lesLignes(Ubound(lesLignes))," ")(1)
maZone = feuille.GetCellRangeByName(Cstr(colDeb)&Cstr(lignDeb)&":"&Cstr(colFin)&Cstr(lignFin))
adrZones(0) = maZone.RangeAddress
feuille.PrintAreas = adrZones()
Thiscomponent.Print(Props())
end sub