|
Publicité ' | ||||||||||||||||||||||
|
|
#1 | ||
![]() ![]() michel TanguyInscription : août 2005 Messages : 3 317 ![]() |
La procédure suivante recherche le mot spécifié, affiche le nombre de fois qu'il apparait et dans quelles pages:
Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Bravo,
Mais plutôt que de faire de la macro pour faire de la macro, il n'y a qu'à demander à Word de faire le boulot. Pour ça, il suffit de marquer le mot recherché comme un entrée de table (pour cela, il suffit d'utiliser la commande "Edition-Remplacer" sur tout le document), puis de demander à Word de générer une table d'index (pour cela, il suffit d'utiliser la commande "Insertion-Tables et index"). Sinon, très bo code de macro (compact, clair) c'est juste dommage de coder ce que Word c'est déjà faire |
|
|
00
|
|
|
#3 |
![]() ![]() michel TanguyInscription : août 2005 Messages : 3 317 ![]() |
bonsoir
merci pour ton message. ta solution semble très interessante mais je n'ai pas réusi à la reproduire (Word2007). Est ce que tu peux réexliquer ta procédure en détail. bon week end michel |
|
|
00
|
|
|
#4 |
![]() ![]() JF JousseaumeInscription : octobre 2007 Messages : 2 390 ![]() |
Salut,
Le plus simple est de commencer par rechercher le mot une fois, de la marquer comme une entrée d'index (pour les valeurs), pour cela, utilisez la commande "Insertion-Tables et index"-Onglet "Index", cliquez sur le bouton "Marquer entrée". Copiez le contenu du champ en l'occurrence "{XE "LeNomDeMonEntree" }", lancez la commande Rechercher-Remplacer avec le mot que vous voulez marquer et avec comme valeur de remplacement le contenu de la recherche concaténé avec le contenu du presse-papier (soit "^&^c" comme valeur de remlacement). Pour retrouver les entrées avec les pages où vous désirez, il suffit alors de se positionner à l'endroit désiré et de demander à Word de générer la table d'index via la commande "Insertion-Tables et index". Vous verrez mieux le résultat en cochant l'option "Aligner les numéros de page à droite". A+ |
|
|
00
|
|
|
#5 | ||
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Bonjour Michel, Sepia,
Ce n'est pas "Marquer entrée" mais "Marquer tout" en laissant "Page courante" et la copie/remplacement n'est pas nécessaire. Je reprends : Code :
Ok, dans ces conditions, ça fonctionne. Si à présent l'on souhaite placer les N° de pages dans un tableau() VBA afin de les traiter par macro, il sera nécessaire de relire l'index. |
||
|
|
00
|
|
|
#6 | |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 354 ![]() |
Citation:
Ce code peut avoir de l'intérêt. Je sais que c'est un défaut que beaucoup d'entre nous possèdent, nous avons souvent recours au code. Mais bon, c'est quand même un forum pour développeurs. PS : les excuses sont faites pour s'en servir !
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
|
00
|
|
|
#7 | |
|
Inactif
Inscription : février 2005 Messages : 12 466 ![]() |
Citation:
Ta solution (révisée), Sepia, devrait faire l'objet d'une autre discussion Juste pour dire ![]() Bonne journée |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com