CompteCouleurFond SI la valeur de la cellule est > à 6,50

Aurelie ACPP

XLDnaute Nouveau
Bonjour,

Je ne sais pas comment compter le nombre de cellules qui sont (par exemple) verte et qui contiennent (par exemple) 7,00.

Pouvez-vous, SVP, m'aider.

Merci.

Aurélie.
 

hbenalia

XLDnaute Occasionnel
Re : CompteCouleurFond SI la valeur de la cellule est > à 6,50

Bonjour à tous,

Si les cellules sont toutes colorées de la même couleur si elles contiennent des valeurs suppérieures à 6,50 on utilisera simplement la fonction NB.SI (par exemple) par l'équation :

Code:
=NB.SI(Plage de cellules;">6,50")

Cordialement
 

Aurelie ACPP

XLDnaute Nouveau
Re : CompteCouleurFond SI la valeur de la cellule est > à 6,50

Bonjour,

En fait, elles ne sont pas toutes de la même couleur.
Pour être plus précise, voici ce que je souhaite (calcul du nombre de paniers) :
Je color la cellule en jaune lorsque les gars sont à l'atelier et en vert, lorsqu'il sont sur chantier. Par contre on donne 1 panier uniquement s'il travail + de 6,5 h / jour.
Evidemment prix du panier différent selon s'ils sont à l'atelier ou au chantier !!!

C'est pour cela que je souhaite calculer le nombre de cellule jaune > ou = à 6,5 et nombre de cellule verte > ou = à 6,5.

J'espère être explicite.

Merci.

D
 

job75

XLDnaute Barbatruc
Re : CompteCouleurFond SI la valeur de la cellule est > à 6,50

Bonjour à tous,

Il faudrait voir le fichier pour connaître les codes des couleurs utilisées.

Mais a priori un code de ce genre doit faire l'affaire :

Code:
Sub CompteCouleurs()
Dim coul1&, coul2&, c As Range, n1#, n2#
coul1 = 4 'vert
coul2 = 6 'jaune
For Each c In ActiveSheet.UsedRange
  If c >= 6.5 Then
    If c.Interior.ColorIndex = coul1 Then n1 = n1 + 1
    If c.Interior.ColorIndex = coul2 Then n2 = n2 + 1
  End If
Next
MsgBox "Vert : " & n1 & vbLf & "Jaune : " & n2 'juste pour tester
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : CompteCouleurFond SI la valeur de la cellule est > à 6,50

Re,

1) La fonction modifiée :

Code:
Function couleurFond(champ As Range)
Application.Volatile
If champ.Count = 1 Then
  couleurFond = champ.Interior.ColorIndex
Else
  Dim t, u, i&, j%
  t = champ 'matrice
  u = UBound(t, 2)
  For i = 1 To UBound(t)
    For j = 1 To u
      t(i, j) = champ(i, j).Interior.ColorIndex
    Next
  Next
  couleurFond = t
End If
End Function
2) La formule modifiée en K2 :

Code:
=SOMMEPROD(ESTNUM(G25:R34)*(G25:R34>=6,5)*(couleurfond(G25:R34)=couleurfond(G35)))
Fichier joint.

A+
 

Pièces jointes

  • Modele(1).xls
    70 KB · Affichages: 57
  • Modele(1).xls
    70 KB · Affichages: 51
  • Modele(1).xls
    70 KB · Affichages: 57
Dernière édition:

Discussions similaires

Réponses
1
Affichages
187
Réponses
4
Affichages
236
Réponses
6
Affichages
375

Statistiques des forums

Discussions
312 446
Messages
2 088 491
Membres
103 870
dernier inscrit
didiexcel