OVH Cloud OVH Cloud

Recherche de mots dans word depuis excel (rebelotte)

1 réponse
Avatar
Renaud
Bonjour à toutes et à tous.
La question que je vais vous poser à certainement déjà été posée, mais ma
recherche sur MPFE, Google, et bien d'autres encore a été infructeuse
(mauvais mots clés ? .. que sais je encore).
Voici donc mon problème : J'ai moulte fichiers word dans un répertoire. Ils
sont tous semblables, et contiennent certains mots clés.
Je souhaiterai dans la mesure du possible, créer une macro sous Excel dans
laquelle je sélectionnerai avec des cases à cocher ou des listbox lesdits
mots clés la macro analyserait les fichiers de mon répertoire (amenée à
s'étoffer), et me donnerait les résultats sur une feuille de calcul (le bonus
++ serait une URL tendant vers les fichiers en question).
Voilà, si quelqu'un a un petit peu de temps pour m'aider, ou m'indiquer un
lien où je pourrais trouver mon bonheur, je le remercie d'avance
____________
Lin du Roseau

1 réponse

Avatar
Michel Pierron
Bonjour Renaud;
J'ai bien peur que tu doives transfèrer tes mots clés dans la zône
Commentaires pour que cela marche car je n'ai pas réussi à lire la propriété
Keywords qui reste désespéremment vide. Il me semble déjà avoir évoqué ce
problème sur le forum.

Sub WordMotCleList()
' Chemin de ton répertoire:
Const spath$ = "C:Documents and SettingsUntelMes documents"
If Dir(spath, vbDirectory) = "" Then Exit Sub
Dim Headers(35), x%, y&, i&, p$, n$, oFile As Object
Dim objShell As Object, oFolder As Object
Set objShell = CreateObject("Shell.Application")
Set oFolder = objShell.NameSpace(CStr(spath))
Application.ScreenUpdating = False
Workbooks.Add
For i = 0 To 35
Headers(i) = oFolder.GetDetailsOf(oFolder.Items, i)
Select Case i
Case 0, 9 To 14, 35
x = x + 1
Cells(1, x) = Headers(i)
End Select
Next
y = 1
For Each oFile In oFolder.Items
p = oFile.Path: n = oFile.Name
If Right$(n, 4) = ".doc" Then
' Comments property = 14 / Keywords property = 35
Dim Words, u As Byte
' Liste des mots clés:
Words = Array("Truc", "Machin", "Bidule")
For u = 0 To 2
If InStr(1, oFolder.GetDetailsOf(oFile, 14), Words(u), 1) Then
x = 0: y = y + 1
For i = 0 To 35
Select Case i
Case 0, 9 To 14, 35
x = x + 1
Cells(y, x) = oFolder.GetDetailsOf(oFile, i)
With ActiveSheet
.Hyperlinks.Add .Range("A" & y), Hlink(p), , n, n
End With
End Select
Next i
Exit For
End If
Next u
End If
Next oFile
Range("A2").Select
ActiveWindow.FreezePanes = True
Rows("1:1").Font.Bold = True
Cells.Columns.AutoFit
Range("A1").Select
Set oFolder = Nothing: Set objShell = Nothing
End Sub

Private Function Hlink(p As String) As String
Hlink = "file:///" & Replace(Replace(p, " ", "%20"), "", "/")
End Function

MP

"Renaud" a écrit dans le message de news:

Bonjour à toutes et à tous.
La question que je vais vous poser à certainement déjà été posée, mais ma
recherche sur MPFE, Google, et bien d'autres encore a été infructeuse
(mauvais mots clés ? .. que sais je encore).
Voici donc mon problème : J'ai moulte fichiers word dans un répertoire.
Ils

sont tous semblables, et contiennent certains mots clés.
Je souhaiterai dans la mesure du possible, créer une macro sous Excel dans
laquelle je sélectionnerai avec des cases à cocher ou des listbox lesdits
mots clés la macro analyserait les fichiers de mon répertoire (amenée à
s'étoffer), et me donnerait les résultats sur une feuille de calcul (le
bonus

++ serait une URL tendant vers les fichiers en question).
Voilà, si quelqu'un a un petit peu de temps pour m'aider, ou m'indiquer un
lien où je pourrais trouver mon bonheur, je le remercie d'avance
____________
Lin du Roseau