Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formatage de page

8 réponses
Avatar
Gérard
Bonjour, bonsoir à toutes et à tous,

J'aimerais pouvoir déterminer, par VBA, le nombre de ligne de ma page
active.

Quelqu'un peut-il ma'aider ?

J'ai déjà trouvé ceci, mais cela concerne la totalité du document et ce qui
m'intéresse est la page courante.

Sub nblignes()
NombreLignes= ActiveDocument.BuiltInDocumentProperties(wdPropertyLines)
MsgBox "Ce document contient " & NombreLignes & " lignes."
End sub

Merci !

Gérard

8 réponses

Avatar
Anacoluthe
Bonjour !

'Gérard' nous a écrit ...
J'aimerais pouvoir déterminer, par VBA, le nombre de ligne de ma page
active.
Quelqu'un peut-il ma'aider ?
J'ai déjà trouvé ceci, mais cela concerne la totalité du document et ce
qui m'intéresse est la page courante.
Sub nblignes()
NombreLignes= ActiveDocument.BuiltInDocumentProperties(wdPropertyLines)
MsgBox "Ce document contient " & NombreLignes & " lignes."
End sub



J'utiliserais quelque chose comme NbLignesPageEnCours = _
ActiveDocument.Bookmarks("page").Range.Characters.Last.Information(wdFirstCharacterLineNumber)
qui renvoie le 'numéro de ligne'
(= ce qui est affiché dans la barre d'état en bas après Li Ln ou Ligne: )
du dernier caractère de la page en cours.

Il s'agit du nombre de lignes effectives de la page,
pas du nombre de lignes possibles selon la police, l'interligne etc
Est-ce que ça correspond à ce que vous cherchez ?

Anacoluthe
« Pourquoi lire dans les lignes de la main ?
Parce que dans les lignes des pieds c'est moins facile ! »
- Michèle BERNIER
Avatar
Geo
Bonjour à Anacoluthe qui nous a écrit :

J'utiliserais quelque chose comme NbLignesPageEnCours = _
ActiveDocument.Bookmarks("page").Range.Characters.Last.Information(wdFirstCharacterLineNumber)



J'ai essayé un truc comme ça mais avec un collapse, ça renvoie toujours
la valeur 1. Tu as mieux ?

--
A+
Avatar
Anacoluthe
Hellooo Geo !

'Geo' nous a écrit ...
J'ai essayé un truc comme ça mais avec un collapse, ça renvoie toujours
la valeur 1.




Nan pas toujours ! j'imagine sauf sur la dernière page ;-)

Je pense que tu as fait un Collapse(WdCollapseEnd) de ton Range
contenant toute la page, c'est ça ?
Ben alors ton Range collapsé nul est déjà sur la page suivante, non ?

A+
A~
Avatar
Anacoluthe
Bonjour !

Ben alors ton Range collapsé nul



Euh t'as compris que c'est un Range contenant nul caractère
Je ne veux pas dire que tu fais du Range nul !
;-)
A~
Avatar
Geo
Bonjour à Anacoluthe qui nous a écrit :

J'ai essayé un truc comme ça mais avec un collapse, ça renvoie toujours la valeur 1.





Nan pas toujours ! j'imagine sauf sur la dernière page ;-)
Je pense que tu as fait un Collapse(WdCollapseEnd) de ton Range
contenant toute la page, c'est ça ?
Ben alors ton Range collapsé nul est déjà sur la page suivante, non ?



C'est sans doute ça.

D'habitude je fais un petit select pour voir où il se trouve, mais là
j'ai pas pensé à vérifier.
Pas grave, j'ai réutilisé la macro du gars qui voulait savoir pour la
couleur et qu'a même pas dit merci.
Elle permet aussi de compter au passage les lignes d'en-tête et pied de
page.

Un truc marrant à faire avec une page où il y a des tableaux habillées
et des cadres tout aussi décents : mettre le point d'insertion en haut,
le faire descendre avec la flèche vers le bas et surveiller le compteur
ligne chaque fois. Il y a des surprises.

Bonne soirée.

--
A+
Avatar
Geo
Bonjour

Euh t'as compris que c'est un Range contenant nul caractère
Je ne veux pas dire que tu fais du Range nul !



Oui, un range qui n'engrange rien.
Et non un engrangeur qui ne sait pas ranger.

--
A+
Avatar
Gérard
Bonjour Anacoluthe,

Je te remercie pour ta (rapide" réponse, je teste et te dirai ce qui l'en
est.

Merci

Gérard

"Anacoluthe" a écrit dans le message de
news:OfUnk$
Bonjour !

'Gérard' nous a écrit ...
J'aimerais pouvoir déterminer, par VBA, le nombre de ligne de ma page
active.
Quelqu'un peut-il ma'aider ?
J'ai déjà trouvé ceci, mais cela concerne la totalité du document et ce
qui m'intéresse est la page courante.
Sub nblignes()
NombreLignes= ActiveDocument.BuiltInDocumentProperties(wdPropertyLines)
MsgBox "Ce document contient " & NombreLignes & " lignes."
End sub



J'utiliserais quelque chose comme NbLignesPageEnCours = _
ActiveDocument.Bookmarks("page").Range.Characters.Last.Information(wdFirstCharacterLineNumber)
qui renvoie le 'numéro de ligne'
(= ce qui est affiché dans la barre d'état en bas après Li Ln ou Ligne: )
du dernier caractère de la page en cours.

Il s'agit du nombre de lignes effectives de la page,
pas du nombre de lignes possibles selon la police, l'interligne etc
Est-ce que ça correspond à ce que vous cherchez ?

Anacoluthe
« Pourquoi lire dans les lignes de la main ?
Parce que dans les lignes des pieds c'est moins facile ! »
- Michèle BERNIER


Avatar
Gérard
Bonjour Anacoluthe,

Merci , cela fonctionne à merveille.

Gérard

"Anacoluthe" a écrit dans le message de
news:OfUnk$
Bonjour !

'Gérard' nous a écrit ...
J'aimerais pouvoir déterminer, par VBA, le nombre de ligne de ma page
active.
Quelqu'un peut-il ma'aider ?
J'ai déjà trouvé ceci, mais cela concerne la totalité du document et ce
qui m'intéresse est la page courante.
Sub nblignes()
NombreLignes= ActiveDocument.BuiltInDocumentProperties(wdPropertyLines)
MsgBox "Ce document contient " & NombreLignes & " lignes."
End sub



J'utiliserais quelque chose comme NbLignesPageEnCours = _
ActiveDocument.Bookmarks("page").Range.Characters.Last.Information(wdFirstCharacterLineNumber)
qui renvoie le 'numéro de ligne'
(= ce qui est affiché dans la barre d'état en bas après Li Ln ou Ligne: )
du dernier caractère de la page en cours.

Il s'agit du nombre de lignes effectives de la page,
pas du nombre de lignes possibles selon la police, l'interligne etc
Est-ce que ça correspond à ce que vous cherchez ?

Anacoluthe
« Pourquoi lire dans les lignes de la main ?
Parce que dans les lignes des pieds c'est moins facile ! »
- Michèle BERNIER