Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim plage As Range, cell As Range
' Définir la plage de cellules à surveiller sur la feuille active
Set plage = Intersect(Target, Me.Range("C5:Y35"))
' Vérifier si les cellules modifiées sont dans la plage spécifiée
If plage Is Nothing Then Exit Sub
Application.EnableEvents = False ' Désactiver temporairement les événements pour éviter une boucle infinie
' Parcourir chaque cellule modifiée
For Each cell In plage
' Si la cellule est maintenant vide, effacer la couleur de fond
If cell.Value = "" Then
cell.Interior.ColorIndex = xlNone
Else
' Mettre à jour la couleur de fond en fonction de la valeur de la cellule
Select Case cell.Value
Case "MB"
cell.Interior.Color = RGB(255, 255, 0) ' Jaune
Case "RG"
cell.Interior.Color = RGB(146, 208, 80) ' Vert
Case "SP"
cell.Interior.Color = RGB(0, 176, 240) ' Bleu
Case "SC"
cell.Interior.Color = RGB(247, 150, 70) ' Orange
Case "MN"
cell.Interior.Color = RGB(218, 150, 148) ' Chaire
Case "MG"
cell.Interior.Color = RGB(192, 0, 0) ' Rouge
Case "MP"
cell.Interior.Color = RGB(150, 54, 52) ' Rouge_2
Case Else
' Réinitialiser la couleur de fond si la valeur n'est pas reconnue
cell.Interior.ColorIndex = xlNone
End Select
End If
Next cell
Application.EnableEvents = True ' Réactiver les événements
End Sub