|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Inscription : mai 2004 Messages : 225 ![]() |
Bonjour,
Je ne connais pas encore bien le modèle d'objets de Word et je me retrouve donc à buter sur un problème peut-être tout bête. Je m'explique : Un utilisateur place un signet dans un tableau Word et j'aurais besoin de récupérer les coordonnées (numéros de ligne et de colonne) de ce signet au sein de mon tableau. PS : je sais comment atteindre le signet et renvoyer l'objet Range correspondant, mais je n'arrive pas à trouver la propriété/méthode qui me renverrait ses coordonnées au sein du tableau. Merci d'avance ! |
|
|
00
|
|
|
#2 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Jamais fait mais ce devrait être un truc comme ça une fois qu'on est dans la bonne cellule (extrait de l'aide... mais faut savoir ce qu'on cherche
Code :
http://www.developpez.net/forums/sho...34&postcount=8 |
||
|
|
00
|
|
|
#3 | ||
|
Membre actif
![]() Inscription : mai 2004 Messages : 225 ![]() |
Merci ouskel'n'or !
Pratique cette propriété Information ! Malheureusement, j'aurais aussi besoin de récupérer l'objet Table (ou son numéro d'index au sein de la collection Tables) auquel ces coordonnées correspondent. Quelque chose du genre : Code :
|
||
|
|
00
|
|
|
#4 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Non, mais tu peux utiliser le nom de ton tableau.
Pour ça, tu colles un signet à l'ensemble de ton tableau (en plus des signets de tes cellules) et ensuite, tu récupères le nom du signet de la cellule active : Code :
MsgBox "Signet " & Selection.Bookmarks(Selection.BookmarkID).Name |
|
|
00
|
|
|
#5 |
|
Membre actif
![]() Inscription : mai 2004 Messages : 225 ![]() |
Merci pour ta réponse ouskel'n'or.
Mais je ne comprends pas : a priori, Selection.Bookmarkid va me renvoyer l'index du signet, pas celui du tableau contenant ce signet, non ? En outre, j'utilise ces signets comme des champs de fusion que mes utilisateurs positionnent eux-mêmes au sein de leur document Word, document que je complète ensuite par programmation. Et comme je voudrais leur simplifier la vie au maximum, je souhaiterais leur éviter d'avoir à insérer un signet pour marquer chaque tableau de leur document. |
|
|
00
|
|
|
#6 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ok, j'ai compris le pb hier soir en me couchant
C'est vrai : le problème existe si toutes les cellules de tes tableaux ont des signets. La question : As-tu une colonne de cellules n'ayant pas de signet ? L'idée pour pallier le pb consisterait alors à relever le signet de la cellule dont tu veux récupérer la donnée puis de décaler sur la colonne du même tableau qui ne contient pas de nom de cellule et de récupérer le nom du signet correspondant au tableau, non à une cellule. Ce qui n'est pas très reluisant... mais sinon, là je ne vois pas. Tu dis |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Inscription : mai 2004 Messages : 225 ![]() |
Malheureusement, ça obligerait bien les utilisateurs à marquer (à l'aide d'un signet) les tableaux dans lesquels ils insèrent des signets.
En tout cas, je te remercie pour tes réponses, ouskel'n'or. Si quelqu'un d'autre a une idée, je récapitule en quelques mots le problème : comment, à partir d'un objet Range contenu dans un tableau, récupérer l'objet Table correspondant ? |
|
|
00
|
|
|
#8 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Non, les utilisateurs n'auraient qu'à lancer une macro pour nommer tous les tableaux en fonction de leurs index dans le doc. En outre, tu dois pouvoir récupérer l'index du tableau (il me semble...)
Tu dis si ça t'intéresse |
|
|
00
|
|
|
#9 | ||
|
Membre actif
![]() Inscription : mai 2004 Messages : 225 ![]() |
Je pense avoir trouvé.
Je viens de découvrir l'existence de signets "prédéfinis" dans Word. Parmi eux figure le signet "\Table", qui marque le tableau en cours. Avec ça, je fais l'économie de la macro que tu me proposais au niveau du document Word. La deuxième étape (pas la plus évidente !) consiste à renvoyer l'objet Table correspondant à ce "signet de tableau". Pour cela, je récupère d'abord l'objet Range correspondant à mon "signet de tableau", puis je récupère, au sein de la collection Tables de cette plage, l'objet Table d'index 1. Les 2 étapes se résument ainsi : Code :
Je marquerai ce week-end le topic comme "Résolu" si personne ne se manifeste d'ici là. PS : pour ceux que ça pourrait intéresser, l'article de Microsoft relatif aux signets "prédéfinis" : http://support.microsoft.com/kb/212555/en-us PPS : encore merci pour ton aide, ouskel'n'or
|
||
|
|
00
|
|
|
#10 |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Ne me remercie pas, ça m'a donné l'occasion de creuser ce problème des tableau dans Word sur lequel je ne m'étais jamais penché
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com