Extraction de paragraphes selon mots-clés

Résolu
Habtar - Modifié par Habtar le 7/01/2016 à 23:38
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 8 janv. 2016 à 13:05
Bonjour,

Voilà, j'ai une liste de mot clé (une dizaine) et je souhaite daire une recherche dans tous les document word d'un même répertoire, et à chaque fois qu'un mot clé est trouvé dans ces documents, il faudrait copier le paragraphe correspondant et le coller dans un nouveau document?

Quelqu'un a un code qui fait ça ou qui s'en rapproche ?

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 8/01/2016 à 08:15
Bonjour,
Quelqu'un a un code qui fait ça ou qui s'en rapproche ?

J'en doute (je n'en vois personnellement pas une "utilité" réelle).
C'est pire en ce qui me concerne, car je ne me sers pas de Word, bien que présent sur ma machine.

Mais je viens de faire un petit tour dans Word et d'y lire l'aide VBA, juste pour pouvoir te guider.

Voici donc tout ce que tu vas devoir faire :


- L'utilisation de la fonction Dir te permet de parcourir tous les fichiers .doc de ton répertoire
- pour chaque fichier ainsi trouvé :
la méthode Documents.Open te permet de l'ouvrir et de le lire
- chaque fichier (appelons-le le_doc) ainsi ouvert contient une collection Paragraphs, qui est la liste des paragraphes du fichier.
Ce petit morceau de code te montre comment parcourir cette collection du doc le_doc et de sélectionner chaque paragraphe :
Dim parag as Paragraph
For each parag in le_doc.paragraphs
parag.Range.Select
'.... et ici tes instructions
'.... pour chacun de tes mots clefs :
'.... si parag contient ce mot (utilisation de la fonction Instr) ===>> copier la sélection vers ton fichier de destination
Next


Comme tu le constates, ta question concerne un ensemble de tâches et non une difficulté spécifique et parfaitement isolée (comme le précisent les règles de ce forum)
Tu es donc invité :
1) à lire dans ton aide en ligne chacune des rubriques correspondant aux mots que j'ai mis en gras ci-dessus
2) à mettre en application tout ce que je t'ai dit au-dessus. Tout au moins : à le tenter rn nous montrant le code tenté.
3) à n'ouvrir une discussion que pour une seule difficulté (parfaitement isolée) éventuellement rencontrée au cours de l'une de ces étapes.
Merci de bien vouloir, en allant dans ce sens, te conformer aux règles de ce forum.

EDIT : je n'aimerais absolument pas que cette discussion fût ouverte sur deux sites distincts, avec deux pseudos distincts (nvincent, par exemple), puis traitée "en ping-pong" entre les deux sites pour faire avancer le schmilblic sans avoir écrit le moindre code (en présentant ici du code montré là-bas et vice-versa).

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Je ne vois de quoi tu parles lol

En tout cas merci pour ta réponse qui m'a mis sur la bonne voie.

Le problème est résolu
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
8 janv. 2016 à 13:05
Si tu ne "vois" pas qui pourrait être "nvincent" (sur un autre site), c'est alors que vous êtes deux à faire exactement le même ... probablement exercice et au même moment (hé ! hé !)
Si tu as résolu ce problème, il convient alors de libérer cette discussion (un clic sur le tag RESOLU au niveau de ton tout premier message).
0
Rejoignez-nous