Bonjour,
Je t'ai fait une fonction qui permet de savoir si une cellule a un fond de couleur, et une qui permet de savoir si le texte est en couleur, mais visiblement, ce n'est pas exactement ce que tu veux pour la deuxième chose, j'ai donc fait une fonction NB.SI avec comme critère "<>"
Si c'est seulement pour compter les cellules remplies qui ont le texte mis en couleur, il faudra me dire...
Voici le code des fonctions :
Function AFond(Optional cel As Range)
Application.Volatile
'déclaration de variables
Dim tableau As Variant
If cel Is Nothing Then
Set cel = Application.Caller
End If
ReDim tableau(1 To cel.Rows.Count, 1 To cel.Columns.Count)
ligne = cel.Row - 1
colonne = cel.Column - 1
'Parcours et enregistrement des informations des cellules dans un tableau
For i = 1 To UBound(tableau, 1)
For j = 1 To UBound(tableau, 2)
If Cells(ligne + i, colonne + j).Interior.ColorIndex <> xlColorIndexNone Then
tableau(i, j) = True
Else
tableau(i, j) = False
End If
Next j
Next i
'retour de valeur
AFond = tableau
End Function
Function ACouleurTexte(Optional cel As Range)
Application.Volatile
'déclaration de variables
Dim tableau As Variant
If cel Is Nothing Then
Set cel = Application.Caller
End If
ReDim tableau(1 To cel.Rows.Count, 1 To cel.Columns.Count)
ligne = cel.Row - 1
colonne = cel.Column - 1
'Parcours et enregistrement des informations des cellules dans un tableau
For i = 1 To UBound(tableau, 1)
For j = 1 To UBound(tableau, 2)
If Cells(ligne + i, colonne + j).Font.ColorIndex <> xlColorIndexAutomatic Then
tableau(i, j) = True
Else
tableau(i, j) = False
End If
Next j
Next i
'retour de valeur
ACouleurTexte = tableau
End Function
Voici le fichier en retour :
Ps: En réalité, la fonction ACouleurTexte teste si le texte a une couleur qui n'est pas automatique