PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → 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
Started by FBSH, Apr., 24 2018 2:53 PM - 9 replies
Registered member
12 messages
Posted on April, 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 :)
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on April, 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
Registered member
12 messages
Posted on April, 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)
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on April, 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
Registered member
12 messages
Posted on April, 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.
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on April, 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
Registered member
12 messages
Posted on April, 26 2018 - 9:02 AM
Bonjour,

Malheureusement toujours pas ... je continue à chercher :)
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on April, 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
Registered member
1,304 messages
Popularité : +47 (51 votes)
Posted on April, 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
Registered member
12 messages
Posted on April, 26 2018 - 3:15 PM
Super :D

Merci beaucoup pour votre aide :merci: