Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


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


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.