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é.
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 à [email protected] 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