Function ConvertToRange(x) As Range
Dim s, v As Variant, plage As Range, colonne As Integer
s = Split(Application.Caller.Formula, ",")
v = Evaluate(Replace(s(0), "=colorvlookup(ConvertToRange(VLOOKUP(", "")) 'valeur recherchée
Set plage = Evaluate(s(1))
colonne = Evaluate(s(2) & "," & s(3) & "," & s(4))
Set ConvertToRange = plage(Application.Match(v, plage.Columns(1), 0), colonne)
End Function