Compter cellule coloré par ligne

Bonjour à tous,

je fais encore appel à votre aide pour un petit soucis que j'ai pour compter des celulles colorées.

Je souhaite compter le nombre de cellule rouge sur chaque ligne de B2 à D2, B3 à D3 etc. et mettre le résultat en A2,A3 ect.

Voir fichier joint

Important, les couleurs ne viennent PAS d'un conditional Formatting mais d'un VBA :

"If Application.CountIf(plage, b) > 1 Then

b.Interior.ColorIndex = 3"

Merci de votre aide !

Bonne journée

Bonjour,

tu peux utiliser la même condition qu'en vba

à mettre en A2 et à tirer vers le bas

=NB.SI(B2:D2;">1")

Merci pour ta réponse.

En faite je voudrais le faire en VBA.

Et un point important que je n'ai pas précisé, c'est que ma plage est variable.

En faite je voudrais le faire jusqu'à la dernière cellule complète de la colonne B.

J'imagine que je dois jouer avec le .End(xlDown) ?

Merci

Bonjour,

solution via une macro

Sub test()
dl = Cells(Rows.Count, 2).End(xlUp).Row
dc = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 2 To dl
 Cells(i, 1) = Application.CountIf(Range(Cells(i, 2), Cells(i, dc)), ">1")
Next i
End Sub
h2so4 a écrit :

Bonjour,

solution via une macro

Sub test()
dl = Cells(Rows.Count, 2).End(xlUp).Row
dc = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 2 To dl
 Cells(i, 1) = Application.CountIf(Range(Cells(i, 2), Cells(i, dc)), ">1")
Next i
End Sub

Si j'applique ce code, je ne trouve pas les bon résultats

Je devrais trouver en

A2=> 2 OK

A3=> 0 PAS OK

A4=> 1 PAS OK

A5=> 3 PAS OK

A6=> 0 PAS OK

Bonjour,

cette macro fonctionne pourtant correctement chez moi sur ton exemple.

Effectivement, ton code fonctionne bien pour compter le nombre de cells >1 mais moi je souhaite compter le nombre de cells = couleur rouge. J'ai peut être pas été assez descriptif dans ma demande.

J'ai essayé avec un Interior.ColorIndex = 3 mais ca n'a pas l'air de fonctionner.

Bonjour,

ta remarque concernant l'origine des couleurs était donc pour nous induire en erreur

voici le code adapté

Sub test()
    dl = Cells(Rows.Count, 2).End(xlUp).Row
    dc = Cells(1, Columns.Count).End(xlToLeft).Column
    For i = 2 To dl
        c = 0
        For j = 2 To dc
            If Cells(i, j).Interior.ColorIndex = 3 Then c = c + 1
        Next j
        Cells(i, 1) = c
    Next i
End Sub

Pafait merci beaucoup !

Rechercher des sujets similaires à "compter colore ligne"