Voici, un petit probléme VBA Word, pour lequel j'ai pas trouvé de solution sastifaisante...
j'aurai besoin de connaître le numéro de page d'un range ( par exemple la sélection courante) dans un document Word..
Bon j'ai réussi à contourner le probléme par une procédure un peu "bourrine".. qui parcours les pages une à une jusqu'à temps qu'elle dépasse "le range"..
(bon elle as plein de défaut.., plus il y as de page plus c'est long, elle ne gére pas les sections..)
Code :
' Determine Numero de page
' donner un range en paramétre
' (selection....)
' la fonction retourne le numéro de page
' du début du range
Function NumeroPage(r As Range) As Integer
Dim MemoSelection As Range
Dim MemoPrec As Range
Dim MonDoc As Document
Dim i As Integer
Dim dPos As Double
Set MonDoc = r.Parent
Set MemoSelection = MonDoc.ActiveWindow.Selection.Range
MonDoc.ActiveWindow.Selection.HomeKey Unit:=wdStory 'Aller au début du doc
Do
Set MemoPrec = MonDoc.ActiveWindow.Selection.Range
i = i + 1
MonDoc.ActiveWindow.Selection.GoTo What:=wdGoToPage, Which:=wdGoToRelative, Count:=1
dPos = MonDoc.ActiveWindow.Selection.Range.Start
Loop While MemoPrec.Start <> dPos And r.Start > dPos
MemoSelection.Select
NumeroPage = i
End Function
'
' Procédure de test
'
Sub test()
Debug.Print NumeroPage(Selection.Range)
End Sub
Allez bon week-end à tous ..