Bonsoir,
Le 21 février 2012 12:15, lulu.bleu <adilsalhi@free.fr> a écrit :
Bonjour,
Avec mon collègue on est sur le point de finir notre macro, pour résumer
notre document d'origine fait trois pages, en fonction du nombre de
bénéficiaires par dossier on a une ou deux ou les trois pages de
renseignés.
si les trois pages ne sont pas renseignés ont voudrait que la ou les pages
non renseignés ne soient pas imprimable.
Dans la macro on a fait en sorte qui si un tableau n'était pas rempli la
page s'efface et ça marche, vous imaginez la satisfaction d'être arrivé
jusque là.
le hic c'est qu'il reste un caractère non imprimable sur la page blanche et
donc elle est imprimable, comment faire pour que la page disparaisse pour
de
bon ?
Dans libreoffice/outils/option/libreoffice writer/impression la case
"Imprimer les pages blanches insérer automatiquement est décoché.
Actuellement tes signets Debut sont calculés selon ton tableau (sur la
page).
Personnellement, je mettrait le premier signet à la fin de la première
page, le signet2 à la fin de la seconde page,
ça permettrait ainsi de sélectionner à partir de la page précédente pour
tes suppressions.
et je persiste à croire que ma solution proposée était plus "portable",
mais faut voir les choses du bon côté, maintenant vous programmez en macro
;-)
Yves
Je met le code de la macro pour que vous ayez une idée de ce qui a été
fait.
ça ne sera sûrement pas le code le plus spectaculaire que vous verrez, mais
on a essayé de faire de notre mieux, j'espère que vous serez indulgent.
Sub GotoPage(Page)
Dim Doc As Object
dim nbpages as string
dim pageencours as string
Dim oCC As Object , oCursor As Object
Dim monCurseur as object
dim Signet as Object, Text as Object
dim i as integer
dim CurseurVisible as object
'dim nbpages as object
Doc = ThisComponent
Curseur = ThisComponent.currentController.getViewCursor
' unCurseur = monTexte.createTextCursorByrange()
'monTexte = Doc.Text
'monCurseurInvisible = monTexte.createTextCursor
Curseur.jumpToFirstPage()
Curseur.jumpToLastPage()
Nombrepages = Curseur.page
Curseur.jumpToFirstPage()
MsgBox(NombrePages)
for i = NombrePages to 1 step -1
msgbox("page " & i)
if i = 2 then
msgbox(i)
CurseurVisible =
Doc.currentcontroller.viewCursor
CurseurVisible.jumpToPage(i)
'le tableau de la page2 se nomme tableau8
maTable =
Doc.TextTables.getByName("Tableau8")
'la cellule du nom est A1
maCellule = maTable.getCellByName("A1")
texteCellule = maCellule.String
if texteCellule <> "" then
msgBox ("tableau 8 " & texteCellule)
else
SignetDebut =
Doc.Bookmarks.getByName("pagedebut2")
SignetFin =
Doc.Bookmarks.getByName("pagefin2")
CurseurVisible =
Doc.currentcontroller.viewCursor
'
CurseurVisible.jumpToPage(Curseur.page)
CurseurVisible.goToRange(SignetDebut.Anchor,False)
Text = CurseurVisible.Text
Curseur =
Text.createTextCursorByRange(CurseurVisible)
CurseurVisible.goToRange(SignetFin.Anchor,True)
CurseurVisible.String=""
CurseurVisible.jumpToStartOfPage
endif
endif
if i = 3 then
msgbox(i)
CurseurVisible =
Doc.currentcontroller.viewCursor
CurseurVisible.jumpToPage(i)
'le tableau de la page2 se nomme tableau12
maTable =
Doc.TextTables.getByName("Tableau12")
'la cellule du tableau est A1
maCellule = maTable.getCellByName("A1")
texteCellule = maCellule.String
if texteCellule <> "" then
else
SignetDebut =
Doc.Bookmarks.getByName("pagedebut3")
SignetFin =
Doc.Bookmarks.getByName("pagefin3")
'
CurseurVisible.jumpToPage(Curseur.page)
CurseurVisible.goToRange(SignetDebut.Anchor,False)
Text = CurseurVisible.Text
Curseur =
Text.createTextCursorByRange(CurseurVisible)
CurseurVisible.goToRange(SignetFin.Anchor,True)
CurseurVisible.String=""
CurseurVisible.jumpToStartOfPage
'leTexte =
ThisComponent.Text.createEnumeration
endif
endif
next
End Sub
Cordialement
--
View this message in context:
http://nabble.documentfoundation.org/Writer-Ne-pas-imprimer-seconde-et-troisieme-page-si-pas-renseigne-tp3719210p3763263.html
Sent from the Users mailing list archive at Nabble.com.
--
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et
ne pourront pas être supprimés
--
web site : http://www.molenbaix.com
--
Envoyez un mail à users+help@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
supprimés
Context
- [fr-users] RE: [Writer] Ne pas imprimer seconde et troisième page si pas renseigné (continued)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.