Index global de X index sous word

Résolu/Fermé
Gary - 5 août 2009 à 14:03
 Gary - 6 août 2009 à 17:37
Bonjour,


j'aimerai réaliser un truc sous word, mais je ne sais pas du tout comment.

J'ai X documents, chacun possédant un index (j'ai donc X index en tout).

J'aimerai réaliser un index global des X index, dans lequel je trouverai à quelle page de quel document je peux trouver les mots référencés.

Est-ce que quelqu'un à déjà fais quelque chose comme ça? Sinon une idée pour avancer serait la bienvenue !

Merci à tous !
A voir également:

9 réponses

m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 351
5 août 2009 à 15:21
Bonjour,

Tu pourrais utiliser des champ RD mais ils vont te construire un index global sans précision de documents.

Sinon, tu peux faire de simple copier-coller. Mais dès que tu as collé, tu sélectionnes et tu appuies sur Maj+Ctrl+F9 pour transformer le champs en texte.

Si ton problème est de garder une liaison (c'est une bonne question ;)), voici la solution :
- Dans chacun des docs, insérer un signet sur l'index
- dans le doc global, insérer autant de champs INCLUDETEXT que de fichiers avec le nom du signet, et ajouter le commutateur \! ce qui donnera par exemple :

{ INCLUDETEXT "C:\\...\\document1.doc" signet1 \! }

Tu peux faire des copier coller du champ en modifiant juste le nom du doc et éventuellement le signet. Ces champs conservent une liaison avec les docs d'origine, ils pourront donc être facilement mis à jour à l'aide de la touche F9.

Je rappelle que les { } s'obtiennent avec Ctrl+F9

m@rina
0
Bonjour Marina,

merci pour ta réponse, c'est presque exactement ce que je veux faire.

Effectivement une fois que tous les index sont créés, la méthode des signets marche super bien (je connaissai pas du tout).

Par contre, niveau pratique j'ai un souci. En effet, si les documents sont modifiés, ça impose de passer sur chacun des documents pour actualiser l'index, pour de venir sur l'index principal pour l'actualiser à son tour (un peu fastidieux si il y a beaucoup de documents...)

Tu vois une solution à ce problème?

Merci
0
Et j'ai oublié de rajouter, il faut également re créer le signet apparemment...
0
m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 351
5 août 2009 à 23:33
Bonsoir,

Les champs Word, pour la plupart, ne se mettent pas à jour tout seuls, c'est vrai que c'est un problème dont la correction a été demandée à Microsoft, mais bon... faut pas rêver !

Un champ se met à jour avec F9 ou bien à l'impression.
Quant aux liaison, si on utilise le protocole OLE, ça se met à jour tout seul. Le champ INCLUDETEXT ne fait malheureusement pas appel à l'OLE...

Cela dit, je ne vois pas trop bien le problème. Car si tu modifies les entrées d'index dans un document, mettre l'index à jour se fait dans la foulée... Pour faire vite : Ctrl + A puis F9. On peut faire une macro de sortie qui met les champs à jour, mais est ce bien nécessaire ?

Reste évidemment le problème de la mise à jour du doc global. Et là aussi, je ne vois pas trop le problème, car si tu as besoin de ce fichier, il faut bien que tu l'ouvres... La mise à jour peut se faire aussi dans la foulée. On peut éventuellement créer une petite macro à l'ouverture qui mettrait les champs à jour.

Quant aux signets, en principe, tu n'as pas à les refaire après la mise à jour des index.

m@rina
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour,

je suis d'accord avec toi, mais le problème des signets est bien réel !

En effet, dès que tu modifies une entrée de l'index sur lequel tu mets un signet, ce dernier disparaît, et doit donc être recréer à la main, et là je ne vois pas trop comment passer par dessus ce souci...
0
m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 351
6 août 2009 à 13:45
Le signet n'est pas mis sur une entrée d'index mais sur l'index lui même.
J'ai testé car je sais que les signets sont quelque peu volatiles, mais bon, dans ce cas, il ne s'agit que d'un champ, et bien qu'on le mette à jour, c'est toujours le même champ. J'ai donc testé, et mon signet reste bien.
Et comme tu me fais douter, je viens de retester (versions 2003 et 2007), et il n'y a pas de problème de signet...

m@rina
0
Bonjour,

merci pour tes réponses, effectivement ça à l'air de bien marcher, je cherche juste à automatiser au maximum donc je vais regarder pour faire les macros d'actualisation en fermeture de fichier, d'ailleurs si tu sais comment faire rapidement je suis preneur (je ne suis pas du tout VBA !)
0
m@rina Messages postés 21080 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 15 novembre 2024 11 351
6 août 2009 à 17:08
Bonjour,

Pour la mise à jour à l'ouverture du fichier, c'est tout bête :

Sub AutoOpen()
ActiveDocument.Fields.Update
MsgBox "champs mis à jour !"
End Sub


Tu respectes bien le nom du fichier AutoOpen car c'est ce nom qui fait que la macro va démarrer à l'ouverture du fichier.
Le message permet de rassurer mais tu peux le supprimer bien entendu :

m@rina
0
Super !

J'ai mis un AutoClose car je voulais que ça se fasse à la fermeture du fichier mais sinon ça marche super.

Tu as répondu à toutes mes questions, merci pour ton aide précieux !
0