Compter des cellules avec mise en forme

jn.steph

XLDnaute Nouveau
Bonjour,
Je cherche une fonction pour compter des cellules de couleur, je joins un tableau.
Je viens de passer plus d'une heure à fouiller sur le forum mais je n'ai pas réussi à faire fonctionner les formules proposées comme je le souhaite...
Visiblement je dois utiliser une fonction VBA mais la mise en place n'est pas très claire...
Merci pour vos lumières !
JN
 

Pièces jointes

  • Calcul de couleurs.xls
    28.5 KB · Affichages: 54
  • Calcul de couleurs.xls
    28.5 KB · Affichages: 68
  • Calcul de couleurs.xls
    28.5 KB · Affichages: 67

Dull

XLDnaute Barbatruc
Re : Compter des cellules avec mise en forme

Re JN

Oui Effectivement l'explication était mal interprété et incomplète la solution de Robert :) était excellente il suffit de d'adapter les plages pour la colonne B et cela fonctionne

Dull, dont le nombre de neurones est plusieurs millions de fois supérieur au mien, a rectifié ma bêtise... Je l'en remercie !
Oui..mais quel neurone :) il vaut bien mieux que les soit disant millions qu j'ai dans la tête

Je passe le coup
Bonne Journée
 

Si...

XLDnaute Barbatruc
Re : Compter des cellules avec mise en forme

Salut

et ainSi...
Code:
Sub Macro1()
  Dim N As Byte, C As Range
  Range("B30:G31") = ""
  For N = 2 To 7 'de B à G
    For Each C In Range(Cells(3, N), Cells(28, N))
      If C.Font.ColorIndex = 14 Then Cells(30, N) = Cells(30, N) + C
      If C.Font.ColorIndex = 3 Then Cells(31, N) = Cells(31, N) + C
    Next
  Next
End Sub
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter des cellules avec mise en forme

Bonjour le fil, bonjour le forum,

Qu'est-ce qu'on a perdu comme temps ! Si tu avais lu la charte tu aurais su que les bonnes réponses dépendent d'un bon exposé du problème...
Essaie comme ça :
Code:
Sub Macro1()
Dim sv As Long 'déclare la variable sv (Somme des Verts)
Dim sr As Long 'déclare la variable sr (Somme des Rouges)
Dim col As Byte 'déclare la variable col (COLonne)For col = 2 To 7 'boucle 1 : sur les colonnes 2 à 7
    sv = 0: sr = 0 'réinitialise les sommes sv et sr
    For Each cel In Range(Cells(3, col), Cells(28, col)) 'boucle 2: sur toutes les cellules des lignes 3 à 28 de la colonne col
        If cel.Font.ColorIndex = 10 Then sv = sv + cel.Value 'si la couleur de l'encre de la cellule est verte, additione sv à sv plus la valeur de la cellule
        If cel.Font.ColorIndex = 3 Then sr = sr + cel.Value 'si la couleur de l'encre de la cellule est rouge, additione sr à sr plus la valeur de la cellule
    Next cel 'prochaine cellule cel de la boucle 2
    Cells(30, col).Value = sv 'place en B30 le total sv
    Cells(31, col).Value = sr 'place en B31 le total sr
Next col 'prochaine colonne de la boucle 1
End Sub

[Édition]
Salut Si... on s'est croisé.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Compter des cellules avec mise en forme

Bonjour le fil, bonjour le forum,

Je plussoie Cisco qui te demande en vain de regarder sa proposition. Ensuite il y a Si... qui t'a proposé autre chose et moi-même j'ai modifié le code pour l'adapter à ta nouvelle requête. Mais si tu as de la m... aux yeux on ne peut rien pour toi mon cher jn.steph...
 

Si...

XLDnaute Barbatruc
Re : Compter des cellules avec mise en forme

Re

je moinsvalue : juste pour enlever des étoiles imméritées !

Je ne parle pas de Dull, Cisco et bien sûr Robert, stars incontestées de ce forum.

remarque : avec tout cela j'ai oublié de joindre le geste à la parole donc ...
mais la réedition ne me permet pas d'agir ainSi...
je tente autre chose : changer l'icône du message pas d'effet !.
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
262