Extraction de paragraphes selon mots-clés [Résolu]

-
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 ?
Afficher la suite 

Votre réponse

3 réponses

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu
0
Merci
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
Commenter la réponse de Hantar
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
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).
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.