Option Explicit
Sub ChangeCouleur()
Dim Plage As Range, c As Range
Dim Couleur1 As Integer, Couleur2 As Integer
Set Plage = Application.InputBox(prompt:='Sélectionner la zone à modifier', Type:=8)
Couleur1 = InputBox('Donnez l'index de la couleur à remplacer' & vbcrlf & '-4142 pour pas de couleur')
Couleur2 = InputBox('Donnez l'index de la couleur de remplacement' & vbcrlf & '-4142 pour pas de couleur')
For Each c In Plage
With c.Interior
.ColorIndex = IIf(.ColorIndex = Couleur1, Couleur2, .ColorIndex)
End With
Next c
End Sub