Rechercher dans word des mots et créer une liste excel

manu_tella

XLDnaute Junior
Bonjour à tous,

Je vous sollicite pour un petit coup de pouce.
Je dispose d'une cinquantaine de fichier word contenant des chaines de carractères specifiques et je voudrais etablir une liste sous excel les recensant.

je m'explique...

je cherche a lister dans chaque document word sans les ouvrir... les chaines de carracteres commencant par "maison_*" ou "jardin_*".
Mes fichiers contienent par exemple jardin_vert, jardin_gris, maison_jaune, maison_blanche, maison_rouge... toujours de la meme syntaxe (jamais d'espace et commencent toujours soit par maison soit par jardin).

Dans l'idée de la liste, je souhaiterai voir apparaitre en face de la liste les noms de fichiers word dans lesquels ils apparaissent.

Est-ce possible? Je n'ai pas reussi a trouver de sujet similaire sur le forum.
Je ne suis vraiment pas un specialiste de VBA et demander à excel de commander word releve du mystère.
Je ne suis donc pas contre un petit coup de main pour m'aider à construire ca.

d'avance merci pour votre aide preciseuse.

cordialement,
 

manu_tella

XLDnaute Junior
Re : Rechercher dans word des mots et créer une liste excel

Bonjour,

voici mon code actuel à coller dans un module : (mettre le chemin ou est stocké le .doc dans la cible)

Sub test()

Columns("A:B").Select
Selection.ClearContents
Application.ScreenUpdating = True

Cible = "mettre ici le chemin \maison.doc"
Set AppWord = CreateObject("Word.Application")
AppWord.Visible = True
Set DocWord = AppWord.Documents.Open(Cible)
Set CollWord = DocWord.Content.Words

For i = 1 To CollWord.Count
t = ""
'gestion des maison
If InStr(1, LCase(CollWord(i)), "maison") > 0 Then
j = j + 1
t = CollWord(i)
For x = i + 1 To Application.WorksheetFunction.Max(i + 30, CollWord.Count)
If Right(CollWord(x), 1) = vbCr Or Right(CollWord(x), 1) = vbTab Then GoTo finmaison
If Right(CollWord(x), 1) <> " " Then
t = t & CollWord(x)
Application.ScreenUpdating = True

Else
t = t & CollWord(x)
Exit For
End If
Next x
finmaison:
Sheets("feuil1").Select
Cells(j, 1) = t: Cells(j, 2) = Cible
End If

Next

DocWord.Close True
AppWord.Quit

End Sub

en PJ le genre de fichier word que je souhaite analyser et voici la liste que je souhaiterais obtenir après coup:
Maison_jaune
Maison_bleu
Maison_rouge_et_blanche
Maison_rouge_et_blanche2
Maison_verte_et_jaune
Maison_en_tableau
Maison_en_tableau
Maison_violette
Maison_violette
Maison_a_tabulation
Maison_avec_retour_chariot
Maison_carractere_incessable

Il y a des caractères que j'arrive a reconnaitre vbcr, vbtab... qui me font bien reconnaitre la chaine de caractère que je souhaite par contre il y a des caractères que je ne maitrise pas...
chr186
chr164
... qui font que j'exporte plus que ce que je souhaite.... c'est fâcheux.

d'avance merci pour votre aide.

manu
 

Pièces jointes

  • Maison.doc
    25 KB · Affichages: 35

manu_tella

XLDnaute Junior
Re : Rechercher dans word des mots et créer une liste excel

Bonjour à tous,

dois-je declarer de manière specifique les carracteres "non imprimables" pour qu'ils soient reconnus?
y'a t-il une autre manière de proceder?

le resultat est presque .... parfait!

merci encore pour votre aide.

manu
 

Discussions similaires

Réponses
15
Affichages
773
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 247
Messages
2 086 591
Membres
103 248
dernier inscrit
Happycat