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


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 à 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.