VBDico : Faire un glossaire des mots hors dictionnaire

Par Patrice Dargenton

patrice.dargenton@free.fr

http://patrice.dargenton.free.fr/index.html

https://codes-sources.commentcamarche.net/source/20449

 

Version 2.01 du 04/05/2014

 

En parcourant un document Word, la liste des mots non trouvés dans le dictionnaire standard de Word (mots hors "dico") constitue de fait une liste des mots clés propres à ce document. A partir de cette liste, vous pouvez donc commencer à établir un glossaire (dictionnaire limité aux mots particuliers à un domaine) ou un index (références des mots principaux cités dans un document, avec les numéros de page correspondants). Je n'ai pas réussi à obtenir le numéro de page où chaque mot hors dico a été trouvé (cela dépend de la mise en page), mais le numéro du paragraphe est précisé. Lorsqu'un mot hors dico est présent à plusieurs reprises, la liste des numéros de paragraphe distincts est affichée après le nombre d'occurrences trouvées. Enfin, le glossaire est constitué par le tri de cette liste de mots hors dico par ordre alphabétique. Pour les gros documents, un parcours du document par la liste des sections permet de commencer l'indexation plus rapidement, et d'indiquer dans les listes les numéros de section au lieu des numéros de paragraphes. VBDico fonctionne aussi avec des documents compatibles Word : fichiers html, ...

 

Bonus :

- On peut aussi indexer tous les mots. Dans ce cas, on parcourt la liste complète des mots du document et on ne retient pas le numéro du mot, car cela n'a pas beaucoup d'intérêt ;

- Tri fréquentiel : au lieu de trier le glossaire par ordre alphabétique, on peut trier par ordre de fréquence décroissante des mots indexés, par exemple les néologismes les plus fréquents, ou bien carrément tous les mots les plus fréquents !

- Un mode multi-documents a été prévu. Dans ce cas, on retient le code mnémonique du document que l'on doit préciser au préalable, ce qui est beaucoup plus parlant qu'un numéro de paragraphe ou de section. Pour cela, une sauvegarde de la collection de mots du glossaire est effectuée dans un fichier VBDico.tmp, puis renommée en VBDico.dat si on souhaite conserver le résultat. Au lancement de VBDico, si ce fichier est présent, on passe automatiquement en mode multi-documents. L'indexation de tous les mots est disponible aussi en mode multi-documents (mais on ne vérifie pas si le mode d'indexation change sur plusieurs documents).

 

Limitations :

- Sous Word, on peut atteindre un numéro de page, de ligne ou de section, mais pas de paragraphe, ce qui limite l'intérêt de cette dernière numérotation ;

- Une seule instance de VBDico peut fonctionner à la fois, et mieux vaut ne pas utiliser Word pendant ce temps ! (en cas d'erreur, une instance invisible de VBDico.exe risque de rester en mémoire RAM) ;

- Lorsque le glossaire est ouvert dans Word, il n'a pas toujours le focus (les boutons de la barre d'outil ne sont pas actif du premier coup, il faut rebasculer sur Word).

 

Améliorations possibles :

- Sauver les options en cours en quittant et les rétablir au lancement de VBDico ;

- Trouver les numéros de page de chaque mot indexé ;

- Fabriquer des liens hypertextes pour chaque numéro de page des mots trouvés : pour cela, il suffit d'insérer des signets dans une copie du document d'origine, avec le glossaire à la fin ;

- Menu contextuel : on pourrait gérer la commande "Indexer le document" lorsque l'on clique sur le bouton droit sur un fichier .doc : il suffit de fusionner un fichier .reg approprié, ou bien d'écrire la commande directement dans la base de registre.

 

Pré-requis :

- Microsoft Word doit être installé. Comme VBDico est compilé en mode liaison tardive, cela devrait marcher avec plusieurs versions de Word (Word 2002 = XP = Word 10 a été testé avec succès) ;

- Le logiciel runtime (gratuit) de Visual Basic 6 (VB6) doit être installé : C:\WINDOWS\system32\msvbvm60.dll (pour cela, installez n'importe quel logiciel packagé capable d'installer le runtime VB6, par exemple : http://patrice.dargenton.free.fr/gravity/gravityinst.zip : 1.6 Mo).

 

Liste des fichiers :

- Code exécutable (pour ceux qui n'ont pas VB6 sous la main) : VBDico.exe ;

- Code source de VBDico : VBDico.vbp, frmVBDico.frm, clsDoc.cls, clsMot.cls, ModUtil.bas, SelectionFichier.bas, VBDico.ico et VBDico_LiaisonPrecoce.vbp : fichier projet compilé en mode liaison précoce, c'est-à-dire avec une référence explicite à "Microsoft Word 10 Object Library" avant la compilation (voir le code source pour connaître les avantages et les inconvénients) ;

- Glossaire de LisezMoi.doc : exemple d'utilisation de VBDico avec le document LisezMoi.htm ;

- Documentation : LisezMoi.htm.

 

Historique des versions :

04/05/2014 V2.01

- Argument en ligne de commande : le chemin du fichier à indexer

- Passage en VB2010

 

15/02/2004 V1.01 Première version VB6