Plage donnée remettre fond a zéro pour couleur donnée

bonjour

Je recherche sous Vba un petit code qui m'enlèverai la couleur de fond sur une plage donné si bleue

exemple : plage A1:C100

Si cel.Interior.ColorIndex = 42 alors remettre ces memes cellule à cel.Interior.ColorIndex = 0

Cordialement

Bonjour

Tu te donnes toi-même la réponse :

If Range("A1:C100").Interior.ColorIndex = 42 Then
    Range("A1:C100").Interior.ColorIndex = 0
End If

A+

Bonjour barachoie,

Tu a écrit :

qui m'enlèverai la couleur de fond

Je propose ce code VBA :

Option Explicit

Sub Essai()
  Dim celX As Range
  For Each celX In [A1:C100]
    With celX.Interior
      If .ColorIndex = 42 Then .ColorIndex = xlNone
    End With
  Next celX
End Sub

NB : la valeur de xlNone n'est pas 0 mais : -4142

Cordialement,

dhany

Patty et Dhany Merci pour vos propositions

c'est exactement cela

Avec votre proposition je me suis étendu sur Plage interactif Ancienne couleur et nouvelle couleur également

Sub Couleur_Fond_AuChoix()

Dim Plg As Range

Dim Cel As Range

Dim OldColor As Long

Dim NewColor As Long

On Error Resume Next

Set Plg = Application.InputBox("Sélectionnez la plage de travail :", Type:=8)

If Plg Is Nothing Then MsgBox "Opération annulée": Exit Sub

Set Cel = Application.InputBox("Sélectionnez la couleur d'une cellule :", Type:=8)

If Cel.Count <> 1 Then MsgBox "Opération annulée": Exit Sub

OldColor = Cel.INTERIOR.Color

Set Cel = Nothing

Set Cel = Application.InputBox("Sélectionnez une nouvelle couleur :", Type:=8)

If Cel.Count <> 1 Then MsgBox "Opération annulée": Exit Sub

On Error GoTo 0

NewColor = Cel.INTERIOR.Color

For Each Cel In Plg

With Cel.INTERIOR

If .Color = OldColor Then .Color = NewColor

End With

Next Cel

Set Plg = Nothing

Set Cel = Nothing

End Sub

Rechercher des sujets similaires à "plage donnee remettre fond zero couleur"