Relever mots-clés de fichiers Word vers un tableau Excel

2

Bonjour,

Après plusieurs recherches sur des forums, je n'ai toujours pas trouvé comment récupérer des mots d'un fichier Word (ou même Excel) pour les écrire dans une case bien précise dans Excel.

Je m'explique : Mon but est de répertorier tous les dossiers/fichiers enregistrés dans le réseau informatique de l'usine dans laquelle je travaille.

De ce fait, j'organise une page Excel comme le tableau ci-joint :

Nom du sous-dossier/fichier | Type du sous-dossier/fichier              | Mots-clés
Dossier1                    | Dossier de fichiers                       | ?
Fichier1.xlsx               | Feuille de calcul Microsoft Excel         | ?
Fichier2.exe                | Application                               | ?
Fichier3.doc                | Document Microsoft Word 97 - 2003         | ?
Fichier.ppt                 | Présentation Microsoft PowerPoint 97-2003 | ?
Dossier2                    | Dossier de fichiers                       | ?
Fichier1.xlsx               | Feuille de calcul Microsoft Excel         | ?
Fichier2.exe                | Application                               | ?
Fichier3.doc                | Document Microsoft Word 97 - 2003         | ?
Fichier.txt                 | Document texte                            | ?
...                         | ...                                       | ?
...                         | ...                                       | ?
...                         | ...                                       | ?

Grâce à ma macro « Exécution », j’arrive à récupérer tous mes fichiers et dossiers dans le tableau de B5:Bfin pour les noms et de C5:Cfin pour les types du fichier. (En A1 j'ai mon dossier parent en path [H:\.......])

Sub Exécution()
	Dim path As String
	Dim myaddress As String
	Dim myRange As Range
	myaddress = "B4"
	Set myRange = Range(myaddress)
'Initialisation du chemin
	path = Range("A1").Value
	Call Lister_le_contenu(path, myRange)
	Range("B4:D4").Select
	Selection.AutoFilter
End Sub

Avec la macro intermédiaire Lister_le_contenu :

Sub Lister_le_contenu(p_Path As String, ByRef p_Range As Range)
	Dim fso As New FileSystemObject
	Dim f As Folder
	Dim sf As Folder
	Dim myfile As File
	Dim myRange As Range
	Set myRange = p_Range
'Réference à l’objet du dossier
	Set f = fso.GetFolder(p_Path)
'Relever les sous-dossiers
	For Each sf In f.SubFolders
		myRange.Offset(1, 1).Value = sf.Name
		myRange.Offset(1, 2).Value = sf.Type
		Set myRange = myRange.Offset(1, 0)
	Next
'Relever les fichiers
	For Each myfile In f.Files
		myRange.Offset(1, 1).Value = myfile.Name
		myRange.Offset(1, 2).Value = myfile.Type
		myfile.Name
		Set myRange = myRange.Offset(1, 0)
		Call Lister_le_contenu(sf.path, myRange)
	Next
	Set p_Range = myRange
End Sub

Cependant pour les mots-clés, je ne sais pas comment m’y prendre pour relever un certain texte.

Mes fichiers Word sont disposés comme ceci :
1ère ligne : « Titre du document »
2ème ligne : « Mots-clés : abc, def, ghi, … »

Mes fichiers Excel sont disposés comme ceci :
A1 : « Titre du document »
A2 : « Mots-clés : abc, def, ghi, … »

J’ai déjà réussi à récupérer les mots clés dans des fichiers texte avec la macro :
(dans mon cas, j’ai écris ma ligne « Mots-clés : abc, def, ghi, … » sur la ligne 7).

Sub Mots_clés_fichier_txt()
	Dim ifile As Integer
	ifile = FreeFile
	Dim x As Long
	Dim Data As String
	Open "H:\test.txt" For Input As #ifile
	x = 1
	Do While Not EOF(1)
		Line Input #ifile, Data 'Récupère ta ligne
		If x = 7 Then Cells(1, 1) = Data 'Inscrit Data dans la 1ere case de ton classeur
		x = x + 1
	Loop
	Close #ifile
End Sub

Par contre, cette macro me fait récupérer ma valeur de mots-clés dans la case A1 d’Excel, et que pour un seul fichier. Or, je veux que ça se mette dans ma colonne D:D (D6 pour le Fichier1.xlsx, par exemple).

J’avais pensé à ouvrir, en macro, le fichier Word, le copier/coller en txt, copier la ligne avec les mots-clés, et supprimer ce fichier txt. Mais je n’y arrive pas du tout.

Merci de votre aide.
Bien à vous,
nicolo9.

nicolo9 Posté le 14 octobre 2015, 11:57
par nicolo9
Répondre
2

Bonjour,


Personne n'a d'idée concernant mon problème ?


Merci.

Posté le 7 décembre 2015, 14:31
par nicolo9

Si vous n'êtes pas inscrit sur le site, vous pouvez poster librement (en tant qu'invité).
Pour cela, indiquez un pseudonyme (nom d'utilisateur) et une adresse email :