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+h...@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