Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > Contribuez

Réponse
 
Outils de la discussion
Vieux 08/09/2006, 18h04   #1 (permalink)
Responsable Visual Basic
 
Avatar de bbil
 
Date d'inscription: juin 2003
Localisation: Toulouse-Mirepoix
Âge: 42
Messages: 7 552
Envoyer un message via Skype™ à bbil
Par défaut [VBA-W] Trouver le numero de Page d'une Selection (range)

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 ..
__________________
bbil : Impératif "A LIRE AVANT DE POSTER"
bbil est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/09/2006, 19h15   #2 (permalink)
Responsable Excel
 
Avatar de SilkyRoad
 
Date d'inscription: août 2005
Messages: 3 113
Par défaut

bonsoir Bbil

as tu essayé

Code :
MsgBox Selection.Information(wdActiveEndPageNumber)

bon week end
michel
SilkyRoad est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/09/2006, 19h34   #3 (permalink)
Responsable Visual Basic
 
Avatar de bbil
 
Date d'inscription: juin 2003
Localisation: Toulouse-Mirepoix
Âge: 42
Messages: 7 552
Envoyer un message via Skype™ à bbil
Par défaut

Merci SilkyRoad, je suis complétemet passé à coté de cette propriété information ..cela marche..



... cela mérite un post dans Contributions FAQ-VBA.. ! si tu t'en charge pas d'ici là je ferai cela lundi...
__________________
bbil : Impératif "A LIRE AVANT DE POSTER"
bbil est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Word > Contribuez

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide