Bonjour,
Je sais pas si ça peut aider mais un répertoire de nom existe.
En m'appuyant sur la liste en K6:K16 et en considérant que les plages à traiter sont toujours les mêmes :
Sub noms()
Dim listeNom, c As Range, i As Long
listeNom = Sheets("Feuil1").[K6:K16].Value ' à adapter
For Each c In Union([B9:B23], [E9:E23]) ' à adapter
For i = 1 To UBound(listeNom)
If listeNom(i, 1) = "" Then Exit For
If InStr(c, listeNom(i, 1)) Then
c.Offset(, 1) = listeNom(i, 1)
Exit For
End If
Next i
Next c
End Sub
Il ne doit pas y avoir de trou dans la liste de noms, j’arrête de la balayer au 1er vide pour accélérer.
Mais tant qu'à faire, si c'est pour remplir ton tableau en K1 autant dire ce que tu dois y mettre. La macro peut peut-être s'en occuper plutôt que d'y mettre des formules à rallonge.
eric