Bonsoir,

Le 21 février 2012 12:15, lulu.bleu <[email protected]> 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 à [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
>



-- 
web site : http://www.molenbaix.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

Répondre à