Function Compter(Plage, Coul)
Couleur = Coul.Font.Color
For Each C In Plage
If C.Font.Color = Couleur Then Compter = Compter + 1
Next C
End Function
Sub testcouleur()
Dim MaRange As Range
Dim MaCouleur
Dim Ok As Boolean
MaCouleur = RGB(255, 0, 0)
Set MaRange = Selection
If MaRange.Font.Color = MaCouleur Then Ok = True Else Ok = False
MsgBox "toute la cellule " & Ok
Ok = False
For i = 1 To Len(MaRange.Value)
If MaRange.Characters(i, 1).Font.Color = MaCouleur Then Ok = True
Next i
MsgBox "au moins 1 caracttère " & Ok
End Sub
Sub CompterLesCouleurs()
Dim Nb As Integer
Nb = CompterCouleur(Range("B2:B20"), Range("A1"), True, True)
MsgBox Nb
End Sub
Function CompterCouleur(pPlage As Range, pRangeCouleur As Range, CelluleComplète As Boolean, IgnorerCellulesVide As Boolean)
Dim Cellule As Range
Dim TrouveCaractere As Boolean
Dim i As Integer
For Each Cellule In pPlage
If CelluleComplète Then
If Cellule.Font.Color = pRangeCouleur.Font.Color Then
If Not (IgnorerCellulesVide) Or Cellule.Value <> "" Then
CompterCouleur = CompterCouleur + 1
End If
End If
Else
TrouveCaractere = False
For i = 1 To Len(Cellule.Value)
If Cellule.Characters(i, 1).Font.Color = pRangeCouleur.Font.Color Then
TrouveCaractere = True
Exit For
End If
Next i
If TrouveCaractere Then CompterCouleur = CompterCouleur + 1
End If
Next Cellule
End Function