Sub Worksheet_Change(ByVal Target As range)
On Error GoTo Fin: If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [B2:B9]) Is Nothing Then
Application.ScreenUpdating = False
For Each Sh In ActiveSheet.Shapes
Nombre = Application.WorksheetFunction.VLookup(Right(Sh.Name, 2), [A2:B9], 2, False)
With ActiveSheet.Shapes(Sh.Name)
.Fill.ForeColor.RGB = [A15].Interior.Color
Select Case Nombre
Case Is >= 100: .Fill.ForeColor.RGB = [A14].Interior.Color
Case Is <= 49: .Fill.ForeColor.RGB = [A16].Interior.Color
End Select
End With
Next Sh
End If
Fin:
End Sub