Bonjour Hedi,
Oui, c'est plus compliqué puisqu'il faut ouvrir chaque document pour chaque numéro et les inspecter. Et le problème, c'est que c'est finalement plus une problématique Word que Excel et je ne connais pas. Mais je vais quand même essayer de t'aider (j'ai fait des petites recherches spécialement pour toi) :
Sub ChercherDevis()
dim ws as worksheet
dim odoc as document
dim Dossier$, Fichier$, Chemin$
dim NB%, i%, n%
Set ws = Activesheet
Dossier = "C:\Devis\"
NB = ws.cells(rows.count,1).end(xlup).row 'nombre de lignes en A
Application.screenupdating = false
for i = 1 to NB 'pour chaque cellule en A
devis = ws.range("A" & i).value 'devis (n° série) à chercher dans dossier
Fichier = Dir(Dossier & "*.doc*") 'initialisation de la recherche de Fichier dans Dossier
while Fichier <> "" 'tant qu'il y a des fichiers
Chemin = Dossier & Fichier 'nom complet du fichier
Documents.open filename:=Chemin, visible:=false 'ouvre doc word
Set odoc = Activedocument 'odoc devient le doc actif
odoc.range(0,0).select 'selection du début
selection.moveend wdstory 'jusqu'à la fin (RISQUE D'ERREUR)
with selection.find 'avec la sélection, on cherche
.text = devis 'le devis
.execute 'on applique
if .found then 'si on trouve une correspondance
n = n + 1 'incrémentation de n
ws.Range("B" & n).value = Fichier 'copie nom fichier en B
ws.Range("C" & n).value = i 'copie index (sur Col A) du devis d'origine en C (en cas de multiplons)
end if
end with
odoc.close savechanges:=wdDoNotsavechanges
Fichier = Dir 'Fichier suivant
wend
next i
Application.screenupdating = true
End sub
Voilà, sans grande conviction car je n'ai pas essayé et que je ne maitrise pas la syntaxe donc il y a des risques importants de bugs (notamment quand je fais tout sélectionner et quand j'utilisa la méthode rechercher). Et ça risque d'être un peu long...
L'idéal serait quand même à l'avenir d'avoir un unique fichier excel servant d'interface pour éditer tes devis (et factures) en PDF, avec toutes les infos soigneusement archivées dans une base.
Cdlt,