Désolé, j'avais mal compris la demande
Code à mettre dans le module de la feuille en remplacement du précédant :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim Adr As String
If Target.Count > 1 Then Exit Sub
If Target.Column <> 13 Then Exit Sub
Set Plage = Range("B5:K12")
Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)
If Not Cel Is Nothing Then
Adr = Cel.Address
Do
Select Case Target.Value
Case 0: Cel.Interior.ColorIndex = 27 'jaune
Case 1: Cel.Interior.ColorIndex = 3 'rouge
Case 2: Cel.Interior.ColorIndex = 5 'bleu
Case 3: Cel.Interior.ColorIndex = 10 'vert foncé
Case 4: Cel.Interior.ColorIndex = 7 'rose
Case 5: Cel.Interior.ColorIndex = 16 'gris
Case 6: Cel.Interior.ColorIndex = 4 'vert clair
Case 7: Cel.Interior.ColorIndex = 46 'orange
Case 8: Cel.Interior.ColorIndex = 28 'bleu clair
Case 9: Cel.Interior.ColorIndex = 30 'brun
Case 10: Cel.Interior.ColorIndex = 36 'jaune clair
Case 11: Cel.Interior.ColorIndex = 17 'mauve
Case 12: Cel.Interior.ColorIndex = 38 'rose clair
'Case etc...: Cel.Interior.ColorIndex = numéro de couleur voulu !
End Select
Set Cel = Plage.FindNext(Cel)
Loop While Cel.Address <> Adr
End If
End Sub