Bonjour,
Voici une Sub pour colorer les numéros dans la cellule A1 (une fonction retourne une valeur ou un tableau de valeurs mais n'est pas vraiment faite pour exécuter des actions, elle pourrait fonctionner mais rendrait le truc instable) :
Sub Test()
Colorer Range("A1"), Range("D10:D11")
End Sub
Sub Colorer(Cel1 As Range, Plage As Range)
Dim Cel As Range
Dim Pos As Integer
Cel1.Characters(1, Len(Cel1.Value)).Font.ColorIndex = 0
For Each Cel In Plage
Pos = InStr(Cel1.Value, Cel.Value)
If Pos > 0 Then
Cel1.Characters(Pos, Len(Cel.Value)).Font.ColorIndex = 3
Pos = 0
End If
Next Cel
End Sub
La Sub attend deux arguments, le premier est un Range qui représente la cellule où se trouvent les numéros de facture tous regroupés avec des retours à la ligne et l'autre est la plage de cellules où se trouvent les différents numéros (voir la Sub "Test")
Pour savoir si un numéro existe dans le paquet, une formule :
=SI(ESTERREUR(CHERCHE(D3;$A$1));0;1)