additionner le contenu de cellules mises en forme à partir de leur couleur de remplis

jim13

XLDnaute Nouveau
Tout d abord étant nouveau ici:

Bonjour à tous


Le problème est le suivant:

J ai un tableau avec trois colonnes de prix
J ai fait une mise en forme sur chaque ligne pour colorer en bleu le prix le plus petit

je souhaite additionner les prix les plus petits de chaque colonne c'est à dire les cellules bleues mises en forme

Je suis débutant et malgré mes recherches sur le net, je n ai pas trouvé de solution

En pièce jointe un fichier d exemple

Merci de vos conseils et de votre patience à venir .....
 

Pièces jointes

  • Claexemple.xlsx
    10 KB · Affichages: 74

leakim

XLDnaute Occasionnel
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

bonsoir, tu peux placer cette formule en C17

Code:
=SOMME(PETITE.VALEUR(C5:C13;1);PETITE.VALEUR(C5:C13;2);PETITE.VALEUR(C5:C13;3))

Tu me rediras,
Leakim
 

jim13

XLDnaute Nouveau
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

Bonsoir

Merci pour cette réponse rapide

J ai essayé la formule que tu m as fournie, a priori elle ne colle pas avec ce que je souhaite

si j ai bien compris, cette formule me donne la somme des trois plus petits nombre de la colonne

je recherche a additionner les nombres des cellules coloriées en jaune par la mise en forme

si tu as une idée .... jim13
 

JBARBE

XLDnaute Barbatruc
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

Bonsoir,

La mise en forme conditionnelle ne permet pas de calculer les sommes coloriées de la feuille 1 ( cellules figées) !

En feuille 2 la fonction permettant un total avec la MFC supprimée!

Code:
Option Explicit
Function som_couleur(plage As Range, couleur As Integer) As Double
Dim r As Range, nb As Double
Application.Volatile
nb = 0
For Each r In plage
If r.Interior.ColorIndex = couleur Then
nb = nb + r.Value
End If
Next
som_couleur = nb
End Function
 

Pièces jointes

  • Claexemple.xls
    68.5 KB · Affichages: 75
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

Bonjour à toutes et à tous,

Bienvenue sur XLD, jim13 !

Une suggestion en pièce jointe, sans mise en forme conditionnelle.

A bientôt :)
 

Pièces jointes

  • 00 - jim13 - Le moins cher.xls
    58.5 KB · Affichages: 61

jim13

XLDnaute Nouveau
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

Merci de vos réponses a tous

DoubleZero en effet un bug de ma part dans l énoncé entre bleu et jaune
les cases sont jaunes dans la pièce jointe donnée en exemple et bleues sur ma feuille de travail

Donc si le débutant a bien tout compris, c'est impossible avec des cellules mises en forme

Y aurait il une autre solution au départ pour indiquer le plus petit prix a chaque ligne des trois colonnes sans passer par la mise en forme conditionnelle afin de sommer ensuite chaque colonne en fonction d un critère quelconque
 

DoubleZero

XLDnaute Barbatruc
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

Re-bonjour,

Y aurait il une autre solution au départ pour indiquer le plus petit prix a chaque ligne des trois colonnes sans passer par la mise en forme conditionnelle afin de sommer ensuite chaque colonne en fonction d un critère quelconque

Dans le fichier joint à 20h28, la mise en forme et les totaux des cellules jaunes sont effectués par macro. Pour cela, il faut cliquer sur le bouton "Point d'interrogation" après avoir accepté les macros.

A bientôt :)
 

Si...

XLDnaute Barbatruc
Re : additionner le contenu de cellules mises en forme à partir de leur couleur de re

salut

une autre proposition : la somme est indépendante de la MFC; elle est mise à jour à chaque changement de nombre.
On peut, comme Double00 :D l'a fait, gérer la couleur avec la macro (sans MFC).
Dans la page du code de la feuille
Code:
Private Sub Worksheet_Change(ByVal R As Range)
  If Intersect(R, [A5:C13]) Is Nothing Then Exit Sub
  Dim L As Byte, C As Byte
  [A15:C15] = ""
  For L = 5 To 13
    For C = 1 To 3
     If Cells(L, C) = Application.Min(Cells(L, 1).Resize(1, 3)) Then Cells(15, C) = Cells(15, C) + Cells(L, C)
    Next
  Next
End Sub
 

Pièces jointes

  • SommeSi Min(VBA) .xls
    24.5 KB · Affichages: 50

Discussions similaires

Statistiques des forums

Discussions
312 932
Messages
2 093 731
Membres
105 802
dernier inscrit
Witchun