Bonjour les amis,
J'ai besoin d'un coup de main dans une macro qui permet de compter le nombre de cellules colorées par une mise en forme conditionnelle.
Je veux créer une fonction qui me renvoie un nombre entier, et non une routine car je veux pouvoir utiliser le résultat comme argument d'entrée dans une autre formule.
J'ai rédigé cette fonction mais elle me renvoie #VALEUR
Function COMPTER_VERT(rng As Range) As Double
Dim ColorCount As Long
ColorCount = 0
For Each Cell In rng
If Cell.DisplayFormat.Interior.Color = RGB(177, 200, 0) Then
ColorCount = ColorCount - (Cell.Interior.Color <> RGB(177, 200, 0))
End If
Next
COMPTER_VERT = ColorCount
End Function
En revanche, la routine suivante fonctionne comme je veux dans une plage où il y a une MEFC sur la couleur de fond de cellule :
Sub COMPTER_VERT_2 (rng As Range)
Dim ColorCount As Long
ColorCount = 0
On Error GoTo 0
For Each Cell In rng
If Cell.DisplayFormat.Interior.Color = RGB(177, 200, 0) Then
ColorCount = ColorCount - (Cell.Interior.Color <> RGB(177, 200, 0))
End If
Next
MsgBox "Le nombre de cellules colorées " & rng.Address(0, 0) & " est" & ColorCount
End Sub
Sub TESTER()
COMPTER_VERT_2 (ActiveSheet.Range("E9:E1000"))
End Sub
Quelqu'un peut il m'aider à comprendre pourquoi et m'aider à trouver une Function qui marche svp ?
Merci
Rouday