Pour info, deux solutions possibles :
Deux solutions :
- l'une associant formule et macro:
"=CountCcolor(INDIRECT(ADRESSE(13;COLONNE();2)):INDIRECT(ADRESSE(EQUIV(DATE(ANNEE($A$9);12;31);$A$1:$A$1840;0);COLONNE();2));$A1)"
- l'autre uniquement macro :
Function CountCcolor(range_data As Range, criteria As Range, an As Range) As Long
Application.Volatile
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
On Error Resume Next
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor And Year(Cells(datax.Row, 1)) = an Then CountCcolor = CountCcolor + 1
Next datax
End Function
Apparemment pas de grosse différence de poids du fichier avec l'une ou l'autre solution ni de vitesse de mis à jour de données
Merci encore à tous
Raimana