[VBA] Détection couleur plage cellule [VBA]

Bonjour a toutes et a tous !

Bon déjà je vais commencer par m'excuser pour les accents manquants mais j'ai qu'un qwerty

Je souhaite créer un code qui détectera si dans une plage de cellule donnée, il y a une cellule rouge (Qui correspond enfaîte a une cellule non remplies grâce a un conditional formating)

J'a fais le code suivant mais ça ne m'affiche pas de MsgBox alors qu'il y a bien des cellules rouges...

Sub Couleur()

Dim Cel As Range

    Sheets("Formulaire_Saisie").Select
    For Each Cel In Range("B2:AB106")

    If Cel.Interior.ColorIndex = 3 Then
       MsgBox "Il y a des cellules non remplies"

    End If
    Next

End Sub

Par avance un grand merci pour votre aide !

Bonjour

On ne peut savoir (en général) la couleur d'une cellule modifiée par une Mise En Forme Conditionnelle

Il faut tester la condition qui colorise la cellule

    Sub Couleur()

    Dim Cel As Range

        Sheets("Formulaire_Saisie").Select
        For Each Cel In Range("B2:AB106")

       If IsEmpty(Cel) Then
           MsgBox "Il y a des cellules non remplies"
           Exit For
        End If
        Next

    End Sub

Bonjour et merci pour la réponse si rapide !

Le soucis étant que dans cette plage il y a nécessairement des cellules vides qui ne sont pas a remplir car je me sers de la feuille comme d'un formulaire et qui est présente en plusieurs modules séparés par des lignes vides

Pour ce faire, je protège la feuille et déverrouille simplement les cellules a remplir. Y'a-t-il un moyen d'ajouter cette variable (agir uniquement sur les cellules non verrouilles) et des cellules masquees et fusionnes (bah oui sinon c'est pas marrant :p )

Par avance, merci !

Bonjour,

si elles sont réellement vides (pas de formule ="") :

    Dim pl As Range
    Set pl = Intersect(Range("B2:AB106"), Cells.SpecialCells(xlCellTypeAllFormatConditions), Cells.SpecialCells(xlCellTypeBlanks))
    If Not pl Is Nothing Then
        pl.Select
        MsgBox pl.Count & " saisies manquantes"
    End If

Sinon boucler sur les cellules de pl comme dans l'exemple de Banzai.

eric

PS: j'ai oublier les fusions donc il faut boucler pour les tester. La 1ère cellule d'une fusion doit être testée, pas les autres.

Rechercher des sujets similaires à "vba detection couleur plage"