[Résolu][Writer]Désélectionner "Saut" de page avant tableau
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre lOOyal
- Messages : 37
- Inscription : 01 déc. 2017 13:35
[Résolu][Writer]Désélectionner "Saut" de page avant tableau
Voici un sujet pour expert :
Quel code permettrait de supprimer le saut de page avant le tableau dans lequel on est positionné ?
c'est-à-dire quel code ferait la même chose que : clic dans menu : Tableau > Propriétés du tableau > onglet Enchaînement > désélection de Saut
A noter que :
tableau.BreakType=com.sun.star.style.BreakType.NONE ne fonctionne pas
Merci d'avance et meilleurs vœux !
Quel code permettrait de supprimer le saut de page avant le tableau dans lequel on est positionné ?
c'est-à-dire quel code ferait la même chose que : clic dans menu : Tableau > Propriétés du tableau > onglet Enchaînement > désélection de Saut
A noter que :
tableau.BreakType=com.sun.star.style.BreakType.NONE ne fonctionne pas
Merci d'avance et meilleurs vœux !
Dernière modification par Oukcha le 21 janv. 2020 09:13, modifié 2 fois.
Raison : Balisage
Raison : Balisage
LibreOffice Version: 4.3.7.2.lin04 par exemple mais pas seulement
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
-
- RespOOnsable forum
- Messages : 9251
- Inscription : 28 août 2010 08:45
Re: [WRITER]DESELECTIONNER SAUT AVANT TABLEAU
Bonjour à vous aussi. Nous avons l'habitude de saluer sur ce forum,
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable
Dans votre signature il est nécessaire d'indiquer :
Cordialement.
Votre signature est incomplètement renseignée et fait mention d'une version de LibreOfficeOffice qui n'est plus maintenue.Dans votre signature il y a écrit : LibreOffice Version: 4.3.7.2.lin04 par exemple mais pas seulement
Afin de profiter des dernières améliorations, il est fortement recommandé d'être à jour de la dernière version stable
Dans votre signature il est nécessaire d'indiquer :
- La version exacte de AOO ou LibO (AOO 4.1.7, LibO 6.2.8 par exemple) ;
- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 19.04, macOS 10.15.2 par exemple).
Cordialement.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- PassiOOnné
- Messages : 501
- Inscription : 11 mai 2013 00:11
- Localisation : Aix en Provence
Re: [Writer]Désélectionner "Saut" de page avant tableau
Bonjour
Le code suivant généré par l'enregistreur de macros fonctionne avec ma version de LibreOffice:
Sinon avec une utilisation de ton moteur de recherche préféré, on peut trouver ce lien.
Cordialement,
Le code suivant généré par l'enregistreur de macros fonctionne avec ma version de LibreOffice:
Code : Tout sélectionner
sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Pagebreak"
args1(0).Value = com.sun.star.style.BreakType.NONE
dispatcher.executeDispatch(document, ".uno:Pagebreak", "", 0, args1())
end sub
Cordialement,
Noonours procrastinateur perfectionniste: "Je fais rien, mais demain je l'ferai mieux"
Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER
LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
Pour obtenir la réponse la plus précise possible, VEUILLEZ JOINDRE UN FICHIER
LibO 7.6.5.2 Stable et OpenOffice 4.1.15 sous Windows 10
-
- IdOOle de la suite
- Messages : 25169
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Writer]Désélectionner "Saut" de page avant tableau
Cette phrase ne veut rien dire.zutix a écrit :A noter que :
tableau.BreakType=com.sun.star.style.BreakType.NONE ne fonctionne pas
On ne sait pas ce que contient ta variable tableau, ni comment elle a été déclarée.
Comme d'habitude, il faut systématiquement :
- publier le code complet de la macro
- fournir un document incorporant celle-ci
-
- Membre lOOyal
- Messages : 37
- Inscription : 01 déc. 2017 13:35
Re: [Writer]Désélectionner "Saut" de page avant tableau
Voici le code commenté et le repérage de la zone problématique
L'extrait joint du fichier est suffisant pour comprendre et tester. Objectif : supprimer la page 6 sans qu'il reste de page blanche à la fin.
Merci d'avance aux bonnes volontés.
Code : Tout sélectionner
'------------------------------------------------------------------
' Supprimer la page de no passe en parametre
' Le document actif est constitué de pages toutes remplies par 1 tableau chacune
' Ex d'appel de la fonction pour aider a comprendre :
' If supprimerPageAfs(20) Then
' msgBox "page 20 supprimée"
' Else
' msgBox "erreur lors du traitement visant à oter la page 20"
' End If
'
Function supprimerPageAfs(iPage As Integer) As Boolean
Dim iP As Integer
Dim oCursV As Object, oCursE As Object
Dim oTextTab As Object, oCell As Object, oCellCursE As Object
' le curseur visible sert uniquement à voir en mode pas a pas
oCursV=thisComponent.currentController.viewCursor
supprimerPageAfs=False
' pour une page entre la seconde et l'avant-dernière OK
' selectionner le tableau de la page et l'effacer
' renumeroter la page suivante et rebaptiser le tableaux de cette page
' idem pour toutes les pages jusqu'a la fin
If iPage>1 And iPage<thisComponent.CurrentController.PageCount Then
oTextTab=thisComponent.TextTables.getByName("TBL_0_"&iPage-1)
oTextTab.dispose()
For iP=iPage To thisComponent.CurrentController.PageCount Step (1)
oTextTab=thisComponent.TextTables.getByName("TBL_0_"&iP)
oCell=oTextTab.getCellByName(trouverCellPage(iP+1))
oCellCursE=oCell.createTextCursor()
oCursV.gotoRange(oCellCursE,false)
oCell.String="Page "&iP
oTextTab.Name="TBL_0_"&iP-1
Next iP
supprimerPageAfs=True
'*** DEBUT ZONE qui pose probleme **************************************************
' pour la derniere page qui pose probleme !!!!!!!!!!!!!!!!!!!
' selectionner le tableau
' effacer le saut de page avant le tableau puis effacer le tableau
' ou effacer le tableau puis effacer la page blanche qui reste a la fin = le saut de page
Else
If iPage=thisComponent.CurrentController.PageCount Then
oTextTab=thisComponent.TextTables.getByName("TBL_0_"&iPage-1)
'tentative de suppression du saut de page avant tableau NOK Evidemment il n'y avait pas de ' lors du test
' oTextTab.BreakType=com.sun.star.style.BreakType.NONE
'autre tentative en appelant la sub du gentil Noonours NOK Evidemment il n'y avait pas de ' lors du test
' oterSautAvTab
'effacer le tableau
oTextTab.dispose()
' retour de la fonction
supprimerPageAfs=True
'*** FIN ZONE problématique **********************************************************
' pour la 1ere page OK car cela n'a pas de sens de la supprimer
Else
msgBox "La première page n'est pas traitée."
End If
End If
End Function
sub oterSautAvTab
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Pagebreak"
args1(0).Value = com.sun.star.style.BreakType.NONE
dispatcher.executeDispatch(document, ".uno:Pagebreak", "", 0, args1())
end sub
L'extrait joint du fichier est suffisant pour comprendre et tester. Objectif : supprimer la page 6 sans qu'il reste de page blanche à la fin.
Merci d'avance aux bonnes volontés.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Oukcha le 16 janv. 2020 07:30, modifié 1 fois.
Raison : Balise [code] et [/code] = lecture et sélection simplifiées de votre macro
Raison : Balise [code] et [/code] = lecture et sélection simplifiées de votre macro
LibreOffice Version: 4.3.7.2.lin04 par exemple mais pas seulement
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
-
- IdOOle de la suite
- Messages : 25169
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Writer]Désélectionner "Saut" de page avant tableau
Je ne comprends pas le rapport entre supprimer une page et ton histoire de saut de page avant tableau.zutix a écrit :L'extrait joint du fichier est suffisant pour comprendre et tester. Objectif : supprimer la page 6 sans qu'il reste de page blanche à la fin.
Ton document montre que le tableau en page 4 n'est pas paramétré avec cette option :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Membre lOOyal
- Messages : 37
- Inscription : 01 déc. 2017 13:35
Re: [Writer]Désélectionner "Saut" de page avant tableau
Pour clarifier :
C'est la page 6 qui importe ici. Inutile de se préoccuper des autres pages. Le doc est généré automatiquement par un outil spécialisé auquel on ne peut accéder et qui n'est pas writer.
Une fois le doc généré, il est possible de l'ouvrir avec writer et de le retravailler dans writer.
Ma question est : comment arriver à supprimer complètement la dernière page du doc ouvert dans writer sans laisser de page blanche à la fin en complétant ma macro ?
Merci d'avance pour toute idée constructive.
C'est la page 6 qui importe ici. Inutile de se préoccuper des autres pages. Le doc est généré automatiquement par un outil spécialisé auquel on ne peut accéder et qui n'est pas writer.
Une fois le doc généré, il est possible de l'ouvrir avec writer et de le retravailler dans writer.
Ma question est : comment arriver à supprimer complètement la dernière page du doc ouvert dans writer sans laisser de page blanche à la fin en complétant ma macro ?
Merci d'avance pour toute idée constructive.
LibreOffice Version: 4.3.7.2.lin04 par exemple mais pas seulement
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
-
- IdOOle de la suite
- Messages : 25169
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Writer]Désélectionner "Saut" de page avant tableau
Et je me répète : quel est le rapport avec le titre de ta question ?zutix a écrit :comment arriver à supprimer complètement la dernière page
Quelqu'un cherchant comment gérer le saut de page d'un tableau ne va rien comprendre.
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Writer]Désélectionner "Saut" de page avant tableau
Bonjour,
Essaie ceci :
Voir le lien fourni par Noonours pour plus d'informations.
Cordialement.
Essaie ceci :
Code : Tout sélectionner
doc = thiscomponent
tableau = doc.TextTables.getByName("TBL_0_5")
tableau.PageDescName = ""
tableau.BreakType = com.sun.star.style.BreakType.NONE
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- Membre lOOyal
- Messages : 37
- Inscription : 01 déc. 2017 13:35
Re: [Writer]Désélectionner "Saut" de page avant tableau
Merci d'avoir répondu mais comme déjà dit cela ne fonctionne pas sur ma version de libre office.
Cordialement
Cordialement
LibreOffice Version: 4.3.7.2.lin04 par exemple mais pas seulement
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
-
- IdOOle de la suite
- Messages : 25169
- Inscription : 03 mars 2006 07:45
- Localisation : 127.0.0.1
Re: [Writer]Désélectionner "Saut" de page avant tableau
Comme déjà dit, as-tu fait le test manuellement ?zutix a écrit :comme déjà dit cela ne fonctionne pas sur ma version de libre office
- Ouvrir le document
- Aller sur la page 6
- Editer les propriétés du tableau "TBL_0_5"
- Dans l'onglet Enchaînements, décocher la case "Saut"
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Writer]Désélectionner "Saut" de page avant tableau
Je ne vois rien , dans tes messages précédents, qui fasse référence à la propriété PageDescName.zutix a écrit :Merci d'avoir répondu mais comme déjà dit cela ne fonctionne pas sur ma version de libre office.
Cordialement
Or il est indispensable que celle-ci contienne une chaîne vide pour supprimer le saut de page.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- Membre lOOyal
- Messages : 37
- Inscription : 01 déc. 2017 13:35
Re: [Writer]Désélectionner "Saut" de page avant tableau
Excellent ! Tu as raison Hubert Lambert. Merci infiniment.
Résumé pour ceux qui rencontre la même difficulté :
Pour supprimer un "saut de page avant tableau" avant de supprimer le tableau lui même
pour qu'une fois le tableau effacé il ne reste pas de page blanche :
Résumé pour ceux qui rencontre la même difficulté :
Pour supprimer un "saut de page avant tableau" avant de supprimer le tableau lui même
pour qu'une fois le tableau effacé il ne reste pas de page blanche :
Code : Tout sélectionner
Dim oTestTab As object
oTextTab=thisComponent.TextTables.getByName(nom du tableau)
' *** suppression du saut de page avant tableau
oTextTab.PageDescName = ""
oTextTab.BreakType=com.sun.star.style.BreakType.NONE
' *** effacement du tableau
oTextTab.dispose()
Dernière modification par Oukcha le 21 janv. 2020 09:12, modifié 1 fois.
Raison : Balise [code] et [/code] = lecture et sélection simplifiées de votre macro
Raison : Balise [code] et [/code] = lecture et sélection simplifiées de votre macro
LibreOffice Version: 4.3.7.2.lin04 par exemple mais pas seulement
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)
(Cette version est encore celle que j'utilise et je n'ai pas la possibilité de la changer. Merci de votre compréhension)