Re,
C'est possible avec une macro :
Dans le module de la feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Call CouleurTableau(Me, Target)
End Sub
Et dans un module standard :
Sub CouleurTableau(feuille As Worksheet, cible As Range)
Dim d As Scripting.Dictionary
Dim r As Range
Dim t As Range
Dim c As Range
Set t = feuille.Range("E1").CurrentRegion
Set t = t.Offset(1).Resize(t.Rows.Count - 1)
Set r = feuille.Range("B1").CurrentRegion
Set r = r.Offset(1).Resize(r.Rows.Count - 1)
If Not Intersect(cible, Union(t, r)) Is Nothing Then
Set d = New Scripting.Dictionary
For Each c In r.Columns(1).Cells
d(c.Value) = c.Offset(0, 1).Interior.Color
Next c
For Each c In t.Cells
If d.Exists(c.Value) Then
c.Interior.Color = d(c.Value)
End If
Next c
End If
End Sub
Exemple (voir feuilles 1 et 2) :