Sub macro()
Dim Cellule As Range: Dim i As Long
ActiveSheet.Unprotect ("toto")
Application.ScreenUpdating = False
tb_1 = Split("0/WE/R/vacances", "/")
tb_2 = Split("0/48/41/39", "/")
tb_3 = Split("piscine/muscu/sport/balade", "/")
tb_4 = Split("34/40/4/38", "/")
For Each Cellule In Range("B5:F139")
If Not IsEmpty(Cellule) Then
For i = 0 To 3
Select Case Cellule.Value
Case Is = ""
Cellule.Interior.ColorIndex = 0
Case Is = tb_1(i)
Cellule.Font.ColorIndex = 2
Cellule.Interior.ColorIndex = tb_2(i)
Case Is = tb_3(i)
Cellule.Interior.ColorIndex = tb_4(i)
Case Is = "P"
Cellule.Font.ColorIndex = 1
Cellule.Interior.ColorIndex = 44
End Select
Next i
End If
Next Cellule
Application.ScreenUpdating = True
ActiveSheet.Protect ("toto")
End Sub