Salut tout le monde,
après plusieurs recherche, je n'ai pas réussi à aboutir et je n'ai pas les capacitées pour écrire mon code et j'ai déséspérement besoin d'aide.
Mon problème :
Je dispose dans un répertoire d'environ 500-600 documents word.
D'un autre coté, je dispose de 80 références à 4 chiffres mis dans un tableau excel (ex : FME N°2025). Ces références sont mentionnées dans les documents word (certaines références peuvent se retrouver dans 300 documents différents).
Mon travail consiste vérifier que ces références sont bien dans les documents (je connais donc la liste des documents qui sont associés à la référence). Je n'ai pas le temps ni l'envie d'ouvrir chaque fichier, de chercher la référence et de passer ensuite à un autre document word (surtout si il faut le faire 300 fois pour une seule référence).
Je voudrais donc avoir une macro qui puisse ouvrir les documents word, chercher la référence dedans et me renvoyer l'info si la référence y est ou pas puis fermer le document et passer au suivant.
J'ai trouver un bout de code sur un site mais il ne marche pas dans ma situation et je dois bien avouer que je suis vraiment débutant en vba :
'fonction recherchant du texte dans un fichier
Function Recherche(Fichier As String, texte As String, result As Integer)
MsgBox Fichier
Open Fichier For Input As #1
Do Until EOF(1)
'Line Input #1, ligne
'If InStr(ligne, texte) <> 0 Then
result = 1
Exit Do
End If
Loop
Close #1
End Function
Function Recherche(Fichier As String, texte As String) As Integer
'Déclaration de l'objet Word
Dim WrdApp As Object
'Initialisation
Recherche = 0
'Création de l'instance Word
Set WrdApp = CreateObject("Word.Application" )
'S'assurer que l'appli Word est invisible
WrdApp.Visible = False
'Ouvrir le fichier
WrdApp.documents.Open Fichier
'Faire la recherche
With WrdApp.documents(Fichier).content.Find
.Text = texte
.Execute
If .Found = True Then Recherche = 1
End With
'Fermer le document sans enregistrer
WrdApp.documents(Fichier).Close False
'Quitter l'application Word
WrdApp.Quit
Set WrdApp = Nothing
End Function
De plus je ne sais pas si je dois créer ma macro dans un fichier word vierge placé dans le répertoire puis ensuite lancer la macro ou faire autrement.
Merci d'avance a celui ou ceux qui voudraient bien regarder ça et m'apporter une solution.
Merci d'avance pour vos réponse.
Message édité par tutu831 le 26-06-2012 à 17:13:53