PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Champ traitement de texte - Numéro de page sur Nombre de page
Champ traitement de texte - Numéro de page sur Nombre de page
Iniciado por FBSH, abr., 24 2018 2:53 PM - 9 respostas
Membro registado
12 mensagems
Publicado em abril, 24 2018 - 2:53 PM
Bonjour à toutes et tous,

Je travaille sur le champ traitement de texte en version 22.
Je souhaiterai afficher dans le pied de page de mon document généré (en partie pré-rempli dans le document en word et en partie par programmation).

Afin de pouvoir afficher le numéro de page, j'effectue ceci :

sPied is a docSection = _pDoc..Section
dPied is a docFragment(sPied..Footer..EvenPage, 1)
MonPara is a docParagraph = dPied..Paragraph[1]
MonPara..PageLayout..Alignment = haRight
MonPara..Formatting..FontBold = True
MonPara..Formatting..FontSize = 8

// Insertion d'une formule dans le pied de page -- Numéro de page
MonElémentFormule is a docElement
MonElémentFormule..Type = typeDocElémentFormule
MonElémentFormule..Formula..Instruction = "PAGE \* Arabic \* MERGEFORMAT"

DocInsert(dPied,MonElémentFormule)


Cela fonctionne bien mais lorsque je souhaite afficher en plus le nombre de page tels que : Page 1 sur 4 (par exemple) cela ne fonctionne pas mais si je souhaite afficher uniquement le nombre de page avec "NUMPAGES \* Arabic \* MERGEFORMAT" cela fonctionne.

Avez-vous une solution ?

Je vous remercie :)
Membro registado
1.304 mensagems
Popularité : +47 (51 votes)
Publicado em abril, 25 2018 - 12:15 PM
Salut FBSH,

Pas essayé, mais essaye ceci plutôt pour la formule:

MonElémentFormule..Formula..Instruction = "{ PAGE \* Arabic \* MERGEFORMAT } / { NUMPAGES \* Arabic \* MERGEFORMAT }"


A+
Daryl

--
http://www.concept4u2.com
Membro registado
12 mensagems
Publicado em abril, 25 2018 - 1:18 PM
Bonjour,

Merci pour votre réponse, malheureusement je l'avais essayée également mais cela ne fonctionne pas.
Pour l'instant j'ai "répété" le code afin que cela fonctionne mais cela n'est pas très "propre".
Je reste persuadée qu'une formule complète existe certainement mais je ne l'ai pas encore trouvée.

// Insertion du nombre de page total
sPied2 is a docSection = _pDoc..Section
dPied2 is a docFragment(sPied2..Footer..EvenPage, 1)
Para2 is a docParagraph = dPied2..Paragraph[1]
Para2..PageLayout..Alignment = haRight
Para2..Formatting..FontBold = True
Para2..Formatting..FontSize = 10

NbrePage is a docElement
NbrePage..Type = typeDocElementFormula
NbrePage..Formula..Instruction = "NUMPAGES \* Arabic \* MERGEFORMAT "

DocInsert(dPied2,NbrePage)

// Insertion du mot " sur " entre les deux nombres
sPied3 is a docSection = _pDoc..Section
dPied3 is a docFragment(sPied3..Footer..EvenPage, 1)
Para3 is a docParagraph = dPied3..Paragraph[1]
Para3..PageLayout..Alignment = haRight
Para3..Formatting..FontBold = True
Para3..Formatting..FontSize = 10

// Insertion d'une formule dans le pied de page -- Numéro de page
MyText is a docElement
MyText..Type = typeDocElementText
MyText..Text = iLanguage = 2 ? " sur " ELSE " van "

DocInsert(dPied2,MyText)

// Insertion du numéro de la page courante
sPied is a docSection = _pDoc..Section
dPied is a docFragment(sPied..Footer..EvenPage, 1)
Para is a docParagraph = dPied..Paragraph[1]
Para..PageLayout..Alignment = haRight
Para..Formatting..FontBold = True
Para..Formatting..FontSize = 10

// Insertion d'une formule dans le pied de page -- Numéro de page
NumPage is a docElement
NumPage..Type = typeDocElémentFormule
NumPage..Formula..Instruction = "PAGE \* Arabic \* MERGEFORMAT"

DocInsert(dPied,NumPage)
Membro registado
1.304 mensagems
Popularité : +47 (51 votes)
Publicado em abril, 25 2018 - 2:01 PM
Salut FBSH,

Et si tu vires le code Arabic de ta formule ?
Parce si je crée le champ dans Word, j'ai uniquement la partie ci-dessous

MonElémentFormule..Formula..Instruction = "{ PAGE \* MERGEFORMAT } / { NUMPAGES \* MERGEFORMAT }"


A+
Daryl

--
http://www.concept4u2.com
Membro registado
12 mensagems
Publicado em abril, 25 2018 - 2:27 PM
Toujours pas malheureusement :(
Quand je mets les accolades, cela ne fonctionne pas et si je les enlève, j'ai uniquement la première partie avec le numéro de la page qui s'affiche.
Merci pour les réponses en tout cas.
Membro registado
1.304 mensagems
Popularité : +47 (51 votes)
Publicado em abril, 25 2018 - 5:29 PM
Salut FBSH,

Bon alors essayons ceci: :D

MonElémentFormule..Formula..Instruction = "PAGE / NUMPAGES \* MERGEFORMAT"


A+
Daryl

--
http://www.concept4u2.com
Membro registado
12 mensagems
Publicado em abril, 26 2018 - 9:02 AM
Bonjour,

Malheureusement toujours pas ... je continue à chercher :)
Membro registado
1.304 mensagems
Popularité : +47 (51 votes)
Publicado em abril, 26 2018 - 11:08 AM
Salut FBSH,

Donne moi la déclaration de _pDoc pour que je puisse faire des tests également avec la même configuration que toi.

A+
Daryl

--
http://www.concept4u2.com
Membro registado
1.304 mensagems
Popularité : +47 (51 votes)
Publicado em abril, 26 2018 - 2:03 PM
Salut FBSH,

J'ai trouvé comment tu dois faire (après il faudra probablement jouer avec la mise en page :D

// Insertion d'une formule dans le pied de page -- Numéro de page
MonElémentFormule is a docElement
MonElémentFormule..Type = typeDocElémentFormule
MonElémentTexte is a docElement
MonElémentTexte..Type = typeDocElémentTexte

MonElémentTexte..Texte..Valeur = "Page :"
DocInsert(dPied, MonElémentTexte)

MonElémentFormule..Formule..Instruction = "PAGE \* MERGEFORMAT"
DocInsert(dPied, MonElémentFormule)

MonElémentTexte..Texte..Valeur = "sur :"
DocInsert(dPied, MonElémentTexte)

MonElémentFormule..Formule..Instruction = "NUMPAGES \* MERGEFORMAT"
DocInsert(dPied, MonElémentFormule)


A+
Daryl

--
http://www.concept4u2.com
Membro registado
12 mensagems
Publicado em abril, 26 2018 - 3:15 PM
Super :D

Merci beaucoup pour votre aide :merci: