Somme en fonction de la couleur d'une cellule

Bonjour et une excellente année à tous,

Je voudrais faire une somme en fonction de la couleur de cellule :

1 cellule de couleur verte = 2

1 cellule de couleur Orange = 1

1 cellule de couleur rouge = 0

et j'ai besoin en fonction de ses données de faire la somme de la colonne qui contient ses couleurs de cellules, mais je ne sais pas comment faire.

Merci

Bonjour,

un fichier s'imposerait !

utilise dans tous les cas la fonction suivante :

Function Couleur(CL As Range) As Long
Couleur = CL.Interior.ColorIndex
End Function

à combiner en matriciel avec SOMMEPROD

c'est sur que j'ai un peu oublier le fichier,

Du coup le voici, voir sur la colonne F les cellules vertes qui valent 2 dans mon exemple.

19exemple.xlsx (14.08 Ko)

Bonjour,

C'est mieux avec le fichier en effet.

D'autant que les cellules de la colonne F sont vertes en effet, mais les suivantes sont remplies avec des objets cercle.

Voir pj avec :

  • Utilisation d'un caractère wingdings pour avoir un cercle dans chaque cellule, la couleur de police permet de changer la couleur de la gommette.
    Creation d'une fonction VB : couleurpolice matricielle
    formule sommeprod avec cette fonction

A mon avis la partie *0 est inutile : il suffit de ne pas compter les rouges

Le changement de couleur ne provoque pas de recalcul : il faut appuyer sur le touche F9 après un (ou plusieurs) changement(s) pour mettre à jour le résultat.

Cordialement

23krakite.xlsm (20.78 Ko)

En effet,

non seulement tu as oublié le fichier

c'est sur que j'ai un peu oublier le fichier,

mais en plus l'énoncé n'était donc pas le bon !!

en fonction de la couleur de cellule

Bravo à Dug59, solution très élégante, ce sera plus facile à remplir aussi.

Super,

Merci beaucoup

Bonjour à tous,

Je suis totalement d'accord avec Steelson sur la solution très sympa de Dug59 ...

Du coup, sur une idée concoctée par Eriiic ... je me suis amusé à faciliter la saisie des jolies 'gommettes' ...

En espérant que cela aide ...

Trop fort !!

Trop fort !!

OMG ... how nice of you ...

bonjour a tous,

je suis dans la meme problematique (j'avais deja poste l'annee derniere concernant le meme fichier).

cependant, apres lecture de vos echanges et des fichiers joints, je crains etre perdue.

je ne cache aps mes mots : j'ai rien compris et en plus, quand j;ouvre les fichiers, toutes les formules m'apparaissent avec une erreur "#name?".

j'ai deja bien ecume le net, les forums mais je ne trouve rien qui fonctionne sur mon fichier.

meme combat : on organise une grosse soiree pour nos 30 ans avec tous mes copains de primaire, mais entre les indecis, ceux qui habitent loin, ceux qui sont en couple ou pas vraiment ou rayer la mention inutile, je voudrais faire le calcul du nombre de personnes presentes POUR DE VRAI.

j'ai deja de belles formules pour comptabiliser ceux qui sont en couple avec des enfants mais mtnt je veux comptabiliser ceux qui ont vraiment confirme (cells en vert).

je vous joint le fichier pour plus de comprehension.

d;avance, merci de votre temps et bon mardi !

Emeline

Bonjour,

voir pj : la fonction ajoutée necessite le format xlsm au lieu de xlsx

Cordialement

wahou !! mille mercis Dug59 !!

super rapide et super efficace !!

je vais encore vous solliciter : pourriez-vous m'expliquer rapidement la formule svp ? que je puisse la reprendre par la suite.

notamment le "43", c'est un code couleur ? comment l'avez-vous obtenu ?

de plus, lorsque je souhaite l'appliquer aux deux autres colonnes (enfants et adultes seuls), elle ne fonctionne plus.

on dirait qu'elle fonctionne uniquement pour le nombre total de personnes.. comment & pourquoi a votre avis ?

merci !!!!!

Merci à tous,

le résultat avec mon fichier complet est au delà de mes espérances...

Merci à tous,

le résultat avec mon fichier complet est au delà de mes espérances...

Merci ... pour tes remerciements communautaires ...

Emeline,

Oui pardon, en effet j'ai oublié de préciser qu'il fallait enlever toute cellule contenant du texte dans la somme à sommer (dans la colonne total j'ai effacé tous les - pour que ça fonctionne)

La fonction CouleurFond je l'ai obtenue sur un site comme celui ci, elle a été écrite par un autre : pour la voir : afficher les modules avec le menu développeur :

Function CouleurFond(x As Range) 'par mapomme, matricielle Application.Volatile Dim i, j If x.Count = 1 Then CouleurFond = x.Interior.ColorIndex Else ReDim t(1 To x.Rows.Count, 1 To x.Columns.Count) For i = 1 To x.Rows.Count For j = 1 To x.Columns.Count t(i, j) = x(i, j).Interior.ColorIndex Next j Next i CouleurFond = t End If End Function

pour savoir que la couleur verte que vous utilisez est le 43 j'ai entré dans une cellule : =couleurfond(M24)

amusez-vous à le faire en N16 et recopiez vers le bas

la formule complète :

=SOMMEPROD((CouleurFond(M$2:M$32)=43)*M$2:M$32)

vérifie pour la plage M2:M32 si la couleur de fond est le vert N°43 et si oui fait la somme de la plage M2:M32 (le oui =1, le non =0 donc en multipliant la plage par les oui non de la condition on obtent le total avec sommeprod

j'espère que c'est clair ??

sublime, c'est parfaitement clair.

je viens de tout appliquer avec d'autres informations et c'est parfaitement clair.

merci beaucoup, vous etes mon sauveur !

@ emeline

@ Dug59

Pour que la lecture du Forum reste claire, il aurait été souhaitable de créer un Nouveau Sujet ... quitte à faire référence à ce sujet ... et d'éviter de squatter le sujet de krakite !!!

James,

je suis assez nouveau sur ce fofo : étant donné qu'on est exactement dans la même problématique et avec un titre explicite je ne pensais pas qu'un nouveau message était souhaitable.

Et au passage : quelle balise utiliser pour avoir le CODE : TOUT SELECTIONNER et l'espace en dessous ?

Cordialement

Rechercher des sujets similaires à "somme fonction couleur"