CountcColor sous condition

Raimana

XLDnaute Nouveau
Bonjour,
J'utilise CountcColor dans le fichier ci-joint : calcul du nbre de cellule d'une certaine couleur dans une colonne regroupant des dates.
Je voudrais rajouter une condition : l'année (cellule A9) et donc limiter le nbre de cellule de telle ou telle couleur en fonction de l'année des dates inscrites dans la colonne A
Mon gourou personnel ne trouvant pas de solution, je me tourne vers vous en espérant qu'une bonne âme pourra m'aider.
Merci d'avance
 

Pièces jointes

  • Planing.xls
    282 KB · Affichages: 15

ChTi160

XLDnaute Barbatruc
Bonjour Raimana
Bonjour le Fil,le Forum
voilà ce que j'ai modifié et qui semble faire le Boulot.
VB:
Function CountCcolor(range_data As Range, criteria As Range) As Long
    Dim datax As Range
    Dim xcolor As Long
    Dim YearSearch As Integer   
          xcolor = criteria.Interior.ColorIndex
YearSearch = Year(Range("A9")) 'on récupére l'année de la date de la cellule "A9"
For Each datax In range_data
    If datax.Interior.ColorIndex = xcolor And Year(Cells(datax.Row, 1)) = YearSearch Then
           CountCcolor = CountCcolor + 1
    End If
Next datax
End Function
jean marie
 

Raimana

XLDnaute Nouveau
Bonjour et merci pour votre aide.
Deux solutions :
- celle de M12 ci-dessus 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
Raimana
 

Discussions similaires

Statistiques des forums

Discussions
311 707
Messages
2 081 734
Membres
101 809
dernier inscrit
HADER2024