Passer en VBA les cellules uniquement rouge à sans couleur

Bonjour à tous,

Tous les ans, je remets mon fichier de 13 onglets en "ordre" avec une macro et aurai besoin dans cette onglet "PLANIF" de passer uniquement les cellules rouges à sans couleur dans la plage D4:O56 !

Est-ce possible s'il vous plait ?

Merci par avance

Excellente journée

4classeur-test.xlsm (22.53 Ko)

Bonjour

Essayez ce code

Sub test()
Dim cel As Range

For Each cel In Range("D4:O56")
    With cel
        If .Interior.ColorIndex = 3 Then .Interior.ColorIndex = xlNone
    End With
Next cel
End Sub

Si ok pensez à

Cordialement

Bonjour,

Dan a été plus rapide.

Une autre solution sur la même idée:

Sub enleveCouleur()
Dim Cel As Range
Dim couleurAEnlever As Long

Application.ScreenUpdating = False
couleurAEnlever = RGB(255, 0, 0) 'code couleur à changer au besoin (rouge, vert, bleu)

For Each Cel In Feuil1.Range("D4:O56") 'plage à changer au besoin
    If Cel.Interior.Color = couleurAEnlever Then
        Cel.Interior.Color = xlNone
    End If
Next Cel

Application.ScreenUpdating = True
End Sub

Un grand MEEEEEEEEERCI à tous les deux ; rapide et efficace comme d'habitude sur ce super site ;-)

Très bonne journée

Bien à vous

David

Je vous embête encore, mais admettons que j'ai besoin de passer les vertes en rouge comment faudrait il que je m'y prenne s'il vous plait ?

Merki

Comme ceci même si le vert est moche ! LoL

Le RGB(0, 176, 80) est bcp mieux

A bientôt les geeks ;-)

Sub ChangeCouleur()
Dim Cel As Range
Dim couleurAChanger As Long

Application.ScreenUpdating = False

couleurAChanger = RGB(255, 0, 0) 'code couleur à changer au besoin (rouge RGB(255, 0, 0), vert RGB(0, 255, 0) , bleu RGB(0, 0, 255))

For Each Cel In Feuil1.Range("D4:O56") 'plage à changer au besoin
    If Cel.Interior.Color = couleurAChanger Then
        Cel.Interior.Color = RGB(0, 255, 0)
    End If
Next Cel

Application.ScreenUpdating = True

End Sub

Essayez ceci

Sub test()
Dim cel As Range
Dim i

For Each cel In Range("D4:O56")
    With cel
        Select Case .Interior.ColorIndex
            Case Is = 3: i = xlNone
            Case Is = 12: i = 3
        End Select
    End With
    cel.Interior.ColorIndex = i
    i = 0
Next cel
End Sub

Pour toutes les couleurs ; merci Excel Pratique

https://www.excel-pratique.com/fr/vba/liste-couleurs-rgb

Pour toutes les couleurs ; merci Excel Pratique

https://www.excel-pratique.com/fr/vba/liste-couleurs-rgb

Sinon directement via l'application:

image image

Ouiiii merci beaucoup Ausecour je m'en étais sorti avec ta solution au départ.

Rechercher des sujets similaires à "passer vba uniquement rouge couleur"