Mettre un onglet en couleur si une cellule est en couleur

Bonjour,

je souhaiterais mettre un onglet en rouge si une des cellules de la feuilles est rouge.

J'ai créé ce code pour modifier la couleur de l'onglet si la cellule A1 est rouge. Il fonctionne mais comment puis-je l'appliquer à toute la feuille? C-à-d si au moins une des cellules est rouge alors colorier l'onglet en rouge (sinon le mettre en vert).

Sub CouleurOnglet()

    Sheets("Feuil1").Select

    If Range("A1").Interior.ColorIndex = 3 Then

    With ActiveWorkbook.Sheets("Feuil1").Tab
    .Color = 255 'rouge

        End With
    Else: With ActiveWorkbook.Sheets("Feuil1").Tab
    .Color = 5287936 'vert
    End With
        End If
End Sub

Je mets le fichier en pj.

Merci de votre aide

Bonjour

Sauf erreur de ma part on ne peux tester la couleur qu'en analysant chaque cellule de l'onglet et en plus la couleur peut-être manuelle ou issue de MFC.

    With ActiveWorkbook.Sheets("Feuil1")
        Set maplage = .UsedRange
        For Each cellule In maplage
            If cellule.Interior.ColorIndex = 3 Then
                .Tab.Color = 255   'rouge
                Rouge = True
                Exit For
            End If
        Next
        If Rouge = False Then .Tab.Color = 5287936 'vert
    End With

Merci de ta réponse.

Effectivement ça ne fonctionne pas avec une MFC, et c'est ce dont j'ai besoin...

Sais-tu ce que je dois modifier pour utiliser ton code avec une MFC? Je ne comprends pas pour ça fonctionne en manuel et pas en MFC...

Gwen

Re

Remplacer la ligne de test par

            If cellule.DisplayFormat.Interior.ColorIndex = 3 Then

marche dans tous les cas si le code couleur est le bon.

Merci beaucoup!

Rechercher des sujets similaires à "mettre onglet couleur"