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

selectionner une page

3 réponses
Avatar
Géo
Hello !!

encore des souçis avec Word et son VBA :-((

Y'a t'il une solution elegante pour selectionner une page ?

je peux me positionner dessus avec :
'*************************************************************
dim x as integer
x = 20
selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=x
'*************************************************************

mais maintenant que j'ai ma page sous les yeux, je voudrais la
selectionner par code ... et je dois avouer que j'ai un peu la migraine
avec les objets Word : objet pages / obget numPage / objet multiPage / ...

je voudrais un truc style myDocument.page(12).select , je reve ou on
peut le faire ?

merci d'avance


Géo

3 réponses

Avatar
Jean-Guy Marcil
Géo was telling us:
Géo nous racontait que :

Hello !!

encore des souçis avec Word et son VBA :-((

Y'a t'il une solution elegante pour selectionner une page ?

je peux me positionner dessus avec :
'*************************************************************
dim x as integer
x = 20
selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=x
'*************************************************************

mais maintenant que j'ai ma page sous les yeux, je voudrais la
selectionner par code ... et je dois avouer que j'ai un peu la
migraine avec les objets Word : objet pages / obget numPage / objet
multiPage / ...
je voudrais un truc style myDocument.page(12).select , je reve ou on
peut le faire ?



Le librairie d'objet Word ne contient pas de collection Page. Il y a
StoryRange, Sections, Paragraphs, Words et Characters, mais pas Page.
La raison est que l'entité page est trop "fragile", le contenu peut changer
selon la grosseur des polices, espcements de paragraphes, marges, imprimante
par défaut, etc.

Donc tu as bien commencé ton code, il faut passer par l'objet Selection.
Ensuite, on ajoute:

'_______________________________________
Dim x As Long
x = 20
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Name:=x
ActiveDocument.Bookmarks("Page").Range.Select
'_______________________________________

Ou, encore mieux:

Dim MyPage as Range
Set MyPage = ActiveDocument.Bookmarks("Page").Range

Puis de travailler avec MyPage. Mais ça dépend de ce que tu veux faire avec
ta page en VBA.

Pour plus de déatils, consulte la rubrique concernant les Signets prédéfinis
dans l'aide de VBA, il y en a quelques uns qui sont fort utiles.
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org

Avatar
Géo

Donc tu as bien commencé ton code, il faut passer par l'objet Selection.
Ensuite, on ajoute:

'_______________________________________
Dim x As Long
x = 20
Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Name:=x
ActiveDocument.Bookmarks("Page").Range.Select
'_______________________________________

Ou, encore mieux:

Dim MyPage as Range
Set MyPage = ActiveDocument.Bookmarks("Page").Range

Puis de travailler avec MyPage. Mais ça dépend de ce que tu veux faire avec
ta page en VBA.

Pour plus de déatils, consulte la rubrique concernant les Signets prédéfinis
dans l'aide de VBA, il y en a quelques uns qui sont fort utiles.


dans Set MyPage = ActiveDocument.Bookmarks("Page").Range
que veut dire le "Page" , il fait un peu trop "francais" dans le code :-)

Géo

Avatar
Geo
Bonjour Géo


dans Set MyPage = ActiveDocument.Bookmarks("Page").Range
que veut dire le "Page" , il fait un peu trop "francais" dans le
code :-)


Jean-Guy t'a tout dit :

Pour plus de détails, consulte la rubrique concernant les Signets
prédéfinis dans l'aide de VBA, il y en a quelques uns qui sont fort
utiles.