Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Deux index ?

48 réponses
Avatar
ZenLuck
Bonjour,
est-il possible de générer deux index (ou plus) d'un même document ?
J'ai un texte de 400 pages pour lequel j'aimerais avoir l'index alphabétique
des noms de personnes citées et aussi un index séparé pour les noms de lieux
cités.
ZenLuck

10 réponses

1 2 3 4 5
Avatar
Jean-Luc
Merci Geo,
ta syntaxe [A-Z] me fait gagner du temps car il me suffira d'une seule
passe.
Les mots ne sont pas en majuscules. Seule la première lettre l'est
(Bruxelles, Eric Dupont, rue des Hirondelles, etc).

Une fois le mot à indexer sélectionné, ce serait pratique d'avoir un
raccourci clavier exécutant une macro qui marque ce mot pour un index donné
(avec le commutateur f et l'identificateur). Ainsi, lorsque je suis sur un
nom de ville, je l'intègre dans l'index des villes; si j'arrive à un nom
propre, j'utilise un autre raccourci clavier qui marque ce nom propre dans
l'indes des noms propres, etc.

Cordialement,
Jean-Luc



"Geo" a écrit dans le message de
news:
.../...
Il y a plus efficace :
Recherchez [A-Z][A-Z] en cochant la case Utiliser les caractères
génériques, ça vous donnera toutes les séquences de deux majuscules.
Si vous ajoutez un espace avant, ça vous donne presque tous les mots
commençant par deux majuscules, il ignore s'il y a une parenthèse avant
par exemple.

--
A+




Avatar
Geo
Bonjour Jean-Luc

Une fois le mot à indexer sélectionné, ce serait pratique d'avoir un raccourci clavier
exécutant une macro qui marque ce mot pour un index donné (avec le commutateur f et
l'identificateur). Ainsi, lorsque je suis sur un nom de ville, je l'intègre dans
l'index des villes; si j'arrive à un nom propre, j'utilise un autre raccourci clavier
qui marque ce nom propre dans l'indes des noms propres, etc.



D'accord je dois avoir déjà quelque chose comme ça dans ma
bibliothèque.

Tant qu'à faire, quels sont les noms à mettre après le f ?

[ Cette réponse est faite sur le forum public Word :


news://msnews.microsoft.com/microsoft.public.fr.word ]



--
A+
Avatar
Geo
Bonjour

Voici deux macros :
http://cjoint.com/?hrlHI6zalh
La petite marque le mot ou le groupe de mots sélectionnés comme étant
une entrée d'index.
Le nom de l'index est dans une constante à adapter.

La première macro lance la recherche des mots contenant une majuscule
et la question est posée chaque fois : "mettre ce mot en index ?".
Répondre "Abandonner" interrompt l'opération.
La recherche commence là où est le point d'insertion, on peut donc
redémarrer d'un point donné.
Inconvénient : elle ne marque qu'un seul mot.
Pour "Jean de la Fontaine", elle proposera de marquer "Jean" puis
"Fontaine".
Dans ce cas précis on pourrait interrompre sur Jean, sélectionner tout
le nom, lancer la deuxième macro, puis relancer la première.
On peut même relancer la première automatiquement à la fin de la
deuxième, c'est un mot à ajouter.

Bon marquage.

--
A+
Avatar
Jean-Luc
Bonjour Geo,
Ce n'est qu'aujourd'hui que j'ai pu tester ta grande macro (un autre travail
à faire en urgence avant celui-ci).
Elle est très agréable à utiliser ! C'est vraiment ce que je souhaitais...

Mais avant de commencer le gros du travail et pour éviter de repasser
plusieurs fois le document en revue (une fois pour chaque index à générer),
serait-il possible d'avoir dans la fenêtre de marquage le choix entre 4
options :
1. Marquer pour l'index Lieux
2. Marquer pour l'index Rues
3. Marquer pour l'index NomsPropres
4. Marquer pour l'indes Bâtiments
Ce sont les 4 index dont j'ai besoin.

Donc, l'organigramme se présenterait comme suit :
- détection de nom propre (mot débutant par une majuscule)
- afficher choix : à marquer ou non dans l'index
- si non -> recherche du mot suivant
- si oui -> proposer le choix entre 4 index (voir liste ci-dessus)
- clic sur l'index sélectionné
- marquage du mot pour l'index sélectionné
- recherche du mot suivant

Remarque : curieusement, lorsque j'affiche les marques de paragraphes et
autres symboles, je vois que le code résultant apparaît sous la forme
suivante :
{ XE "Bruxelles" f"IndexLieu" * MERGEFORMAT }
C'est le mot MERGEFORMAT qui m'intrigue...

Cordialement,
Jean-Luc


"Geo" a écrit dans le message de
news:
Bonjour

Voici deux macros :
http://cjoint.com/?hrlHI6zalh
La petite marque le mot ou le groupe de mots sélectionnés comme étant une
entrée d'index.
Le nom de l'index est dans une constante à adapter.

La première macro lance la recherche des mots contenant une majuscule et
la question est posée chaque fois : "mettre ce mot en index ?".
Répondre "Abandonner" interrompt l'opération.
La recherche commence là où est le point d'insertion, on peut donc
redémarrer d'un point donné.
Inconvénient : elle ne marque qu'un seul mot.
Pour "Jean de la Fontaine", elle proposera de marquer "Jean" puis
"Fontaine".
Dans ce cas précis on pourrait interrompre sur Jean, sélectionner tout le
nom, lancer la deuxième macro, puis relancer la première.
On peut même relancer la première automatiquement à la fin de la deuxième,
c'est un mot à ajouter.

Bon marquage.

--
A+




Avatar
Geo
Bonjour

Mais avant de commencer le gros du travail et pour éviter de repasser plusieurs fois le
document en revue (une fois pour chaque index à générer), serait-il possible d'avoir
dans la fenêtre de marquage le choix entre 4 options :
1. Marquer pour l'index Lieux
2. Marquer pour l'index Rues
3. Marquer pour l'index NomsPropres
4. Marquer pour l'indes Bâtiments
Ce sont les 4 index dont j'ai besoin.



Remarque pertinente, mais solution probablement nettement plus lourde.
L'idéal serait de faire une UserForm avec des options.
Maintenant que j'ai toutes les données c'est faisable.
Une autre solution, moins lourde serait de vous demander de saisir un
nombre pour chaque mot trouvé :
0 on ignore, 1 c'est Lieux etc. On peut rappeler les valeurs sur le
message affiché.
Ou demander la saisie de la première lettre : L pour Lieu etc.
Qu'en pensez-vous ?

Remarque : curieusement, lorsque j'affiche les marques de paragraphes et autres
symboles, je vois que le code résultant apparaît sous la forme suivante :
{ XE "Bruxelles" f"IndexLieu" * MERGEFORMAT }
C'est le mot MERGEFORMAT qui m'intrigue...



J'avoue n'avoir jamais réellement compris comment marche ce
commutateur, voici ce que dit l'aide (2003) :
---------
Applique au nouveau résultat la mise en forme du résultat précédent. Si
vous sélectionnez le nom affiché par le champ { AUTHOR * MERGEFORMAT }
et appliquez l'attribut gras, par exemple, Microsoft Word conserve la
mise en gras lors de la mise à jour du champ consécutive à une
modification du nom de l'auteur.
Remarque Lorsque vous insérez des champs à l'aide de la boîte de
dialogue Champ (menu Insertion, commande Champ), le commutateur
*MERGEFORMAT est inclus par défaut. Vous pouvez désélectionner cette
option en désactivant la case à cocher Conserver la mise en forme à
chaque mise à jour dans la boîte de dialogue Champ.
-----------------

--
A+
Avatar
Geo
Re
Ou demander la saisie de la première lettre : L pour Lieu etc.



J'ai programmé cette solution pour avoir une idée concrète :
http://cjoint.com/?hFwBJ6H63t

--
A+
Avatar
Jean-Luc
Aaaah, cela convient! Il y a moyen d'améliorer l'ergonomie mais c'est
beaucoup de travail de programmation pour une petite application "one shot".
J'ai commencé à l'utiliser sur une quinzaine de pages et c'est très bien
comparativement à mon point de départ où j'était dépouillé de tout outil de
ce genre-là!
Merci encore Geo ! Cela me fait gagner un temps énorme...
Cordialement,
Jean-Luc

"Geo" a écrit dans le message de
news:
Re
Ou demander la saisie de la première lettre : L pour Lieu etc.



J'ai programmé cette solution pour avoir une idée concrète :
http://cjoint.com/?hFwBJ6H63t

--
A+




Avatar
le Nordiste
Bonjour à vous deux et aux autres,

j'ai copîé la deuxiéme version et l'ai essayé à titre d'autoforma tion.
PAS MAL du tout.

mais j'ai un soucis : les accolades générées par :
ActiveDocument.Fields.Add Range:=Selection.Range,
Type:=wdFieldIndexEntry, _
Text:="""" & Trim(Mot) & """" & " f " & """" & NomIndexL &
""""

ne réponde pas aux commandes F9 et consort :
pourquoi ? et comment m'en sortir ?

remerciemenrts anticipés.

Le Nordiste
Avatar
Geo
Bonjour

j'ai copîé la deuxiéme version et l'ai essayé à titre d'autoformation.
PAS MAL du tout.



Merci

mais j'ai un soucis : les accolades générées par :
ActiveDocument.Fields.Add Range:=Selection.Range,
Type:=wdFieldIndexEntry, _
Text:="""" & Trim(Mot) & """" & " f " & """" & NomIndexL &
""""

ne réponde pas aux commandes F9 et consort :
pourquoi ? et comment m'en sortir ?



F9 sur ce type de champ n'a aucun effet visuel puis que c'est un champ
qui n'effectue aucun calcul et de plus, normalement n'est pas visible.

Qu'est ce qui vous chagrine ?

[ Cette réponse est faite sur le forum public Word :
news://msnews.microsoft.com/microsoft.public.fr.word ]



--
A+
Avatar
Jean-Luc
Bonjour,
quand je parlais d'améliorer l'ergonomie, je voulais dire par exemple ceci :
- lorsqu'on tape une lettre (par exemple L pour marquer un lieu à insérer
dans l'index des Lieux), ne pas devoir cliquer sur OK pour valider car c'est
fastidieux à la longue (cela revient en fait à une première demande qui
était de pouvoir cliquer avec validation directe du choix car je travaille à
la tablette graphique, beaucoup plus rapide que la souris)

Et s'il fallait améliorer le 'scanning' du texte, j'ai constaté ceci :
- les mots comme "l'Europe" (avec L apostrophe) sont entrés comme "l'Europe"
dans l'index et non comme "Europe"
- les notes de bas de page (renvois) ne sont pas analysées
et d'autres petits "défauts" mais tout-à-fait supportables compte tenu de la
complexité du texte traité.

Tout cela n'enlève rien à la qualité de cette chouette macro !

Cordialement,
Jean-Luc



"Jean-Luc" <jle> a écrit dans le message de
news:
Aaaah, cela convient! Il y a moyen d'améliorer l'ergonomie mais c'est
beaucoup de travail de programmation pour une petite application "one
shot".
J'ai commencé à l'utiliser sur une quinzaine de pages et c'est très bien
comparativement à mon point de départ où j'était dépouillé de tout outil
de ce genre-là!
Merci encore Geo ! Cela me fait gagner un temps énorme...
Cordialement,
Jean-Luc



1 2 3 4 5