bonjour,
voila un code qui me permet d'afficher le résultat souhaité:
Function fSomCoul(Plage As Range, ref As Range) As Double
Dim Coulplage As Integer, Cellplage As Range, coulref As Integer, cellref As Range, tarifref As Double, Lsomme As Double
For Each Cellplage In Plage
Coulplage = Cellplage.Interior.ColorIndex
For Each cellref In ref
coulref = cellref.Interior.ColorIndex
tarifref = 0
If coulref = Coulplage Then
tarifref = cellref.Value
Exit For
End If
Next
Lsomme = Lsomme + tarifref
Next
fSomCoul = Lsomme
End Function
"plage" est la colonne ou je veux compter le nb de cellule de telle ou telle couleur
"ref" est la colonne ou se trouve les taux horaire avec un fond de couleur distinct
Encore 2 problèmes:
- dans ma "plage" (rappel: 1 seule colonne), j'ai parfois des cellules fusionnees et je voudrais que la fusion n'ait aucune incidence sur mon calcul (1 cellule résultat de 3 cellules fusionnées doit compter pour 3 cellules dans mon calcul).
- quand j'appelle ma fonction, il faudrait que dans certains cas il regarde dans une autre plage (elle aussi nommée) si la couleur n'y est pas déjà (à la même ligne) afin de ne pas compter 2 fois le cout horaire.
Merci de votre aide