Re,
Une fonction n'est pas adéquate pour colorer une cellule... On passe donc par une évènementielle réagissant à la saisie du code RAL en colonne C.
Quand un code est saisi en C, la cellule en F est colorée.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim coul&, n%, c As Range
If Target.Row < 3 Then Exit Sub
For Each c In Intersect(Target, Me.Columns(3))
If c.Value <> "" Then
On Error GoTo errcodral
n = WorksheetFunction.Match(c.Value, [TABLEAU_COULEUR].Columns(1), 0)
coul = [TABLEAU_COULEUR].Cells(n, 4).Interior.Color
c.Offset(, 3).Interior.Color = coul
Else
c.Offset(, 3).Interior.ColorIndex = xlColorIndexNone
End If
Next c
errcodral:
End Sub
Tu trouveras la procédure dans le module de la feuille.
Dernier conseil : évite l'enregistreur, demande plutôt conseil, apprends à coder en VBA autrement que ce que fournit l'enregistreur (sans Select, sans Selection, sans Activate, sans CutCopyMode, sans énumération des propriétés laissées à leur valeur par défaut, liste non limitative) et tu auras des chances d'avoir un code mieux écrit et plus efficace.
Cordialement.