Faire la somme de cellules coloriées dans TCD

Résolu/Fermé
Fab - 14 nov. 2008 à 09:39
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 24 févr. 2010 à 13:04
Bonjour,

Suite à un sujet posté par jmichmuch j'ai eu une réponce de la part de Mike-31 sur comment compter les cellules colorier. Mais ce que je veux faire maintenant et voulais faire au départ c'est de faire la somme des chiffres contenus dans ces cellules coloriées.
Pour être un peu plus clair, j'ai un TCD et je remplis de deux couleurs (bleu et jaune) des sommes afin de les différencier et j'aimerais pouvoir par l'intermédiaire d'un bouton faire la sommes de la couleur jaune en A2 et de la couleur Bleu en A3

merci de votre aide par avance
A voir également:

9 réponses

Bonjour Fab,

Bah c'est une très bonne question :) moi aussi je cherches à faire quelque chose de simillaire alors je vais surveiller ce sujet :)

A+
0
re,

Sans garantie aucune:

Sub SommeCouleurJaune()
For Each cel In Selection
If cel.Interior.ColorIndex.= reference then Somreference= Somreference + cel ' réference par rapport au code de Mike-31
next cel
Range("A2") = Somreference
end sub

je ne l'ai pas testé donc tiens moi au courant.

A+
0
Merci de ta réponce mais le code est similaire :) je cherche non pas à compter le nombre de cellules en bleu ou jaune mais à faire la somme des chiffres à l'intérieur de ces cellules ^^

mais merci de ta réponce
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
14 nov. 2008 à 10:45
Bonjour,
Vous pouvez télécharger l'add-in MoreFunc d'excel ici et l'installer.
ensuite mettre dans la cellule A2
=SOMMEPROD((XLM.LIRE.CELLULE(63;C7:E11)=6)*(C7:E11))
C7:E11 à changer par la bonne plage de cellules et 6 c'est pour le jaune
Faire un copier coller (dans la ligne d'édition, pas de la cellule et copier dans A3
Juste changer le 6 par le N° du bleu (ça dépend quel bleu.)
pour connaître le N° de la couleur employée mettre provisoirement en A5 par exemple...
=XLM.LIRE.CELLULE(63;C9)
C9 à changer par une cellule qui est en bleu.
Tu dit
A+
0
Bonjour Lermitte222,

Merci de la réponce mais je voudrais juste savoir quelque chose le fait d'add un petit complement fais marcher la formule sur mon excel mais si je refile le prog à une personne ne disposant pas de se plugging est ce que la fonction marche toujours???
Si c'est le cas je vais m'y interresser. Autrement j'ai trouvé ce code et vais voir s'il marche:
Option Explicit
Function som_couleur(plage As Range, couleur As Integer) As Double
Dim r As Range, nb As Double
Application.Volatile
nb = 0 (chiffre ou lettre ???)
For Each r In plage
If r.Interior.ColorIndex = couleur Then nb = nb + r.Value
Next
som_couleur = nb
End Function

Function cellcouleur(c As Range)
cellcouleur = c.Interior.ColorIndex
End Function

A+
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
14 nov. 2008 à 11:31
Sans MoreFunc ça marche pas bien sûr.
Ta fonction VBA va aller.
pas besoin de >> nb = 0
A+
0
Super ça fonctionne vraiment bien le seul problème et ça j'ai farfouillié et y'a pas trop de réponce, c'est au niveau de la mise à jour elle ne fonctionne pas on n'est obligé à chaque fois de retapper la formule.
Je vais essayé de créer un bouton de manière à ce que quand on clique il remet la formule. Bien évidement si vous avez une idée je suis preneurs :)

merci encore pour l'info ça m'a beaucoup aidé, je ne mets pas résolu à ce sujet car il manque le recalcul
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
14 nov. 2008 à 11:57
Voir si tu n'a pas mis la fonction Recalcul dans option sur "sur commande" auquel cas tu tape F9 et la formule serra mise à jour.
Ou mettre recalcul en auto.
A+
EDIT:
Le fait de changer la couleur n'oblige pas excel à recalculer, tu doit taper F9
Par contre si le contenu d'une cellule est modifiée, le recalcul se fait tout seul.
0
re Lermitte222,

Merci beaucoup ça fonctionne du tonner, j'ai juste utilisé la touche F9 et mis sur ma feuille appuyer sur F9 pour mettre à jour ^^ beaucoup plus simple qu'un bouton d'action.

merci encore
0
cris16 Messages postés 9 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 22 mars 2010
23 févr. 2010 à 15:20
Bonjour,

Cet article est un petit peu ancien mais j'espere que quelqu'un répondra a ce message. Je dois également faire la somme des cases qui sont d'une couleur identique maisi n'ayant aucune bace en VBA je galère un peu.

Si quelqu'un pouvait m'aider en me detaillant étape par étape ce que je dois faire avant d'écrire le code donné par Fab.

Merci beaucoup de votre aide!!!
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
23 févr. 2010 à 21:05
Bonjour,
Quelque explications !!
quand tu est dans Excel, aller dans l'éditeur VBA (Alt+F11 au cas où)
Dans l'éditeur.. Insertion >> Module
Dans la fenêtre qui vient de s'ouvrir tu colle le code donner par Fab..
Option Explicit 
Public Function som_couleur(plage As Range, couleur As Integer) As Double
Dim r As Range, nb As Double
    Application.Volatile
    nb = 0 '(chiffre ou lettre ???)
    For Each r In plage
        If r.Interior.ColorIndex = couleur Then nb = nb + r.Value
    Next
    som_couleur = nb
End Function

Tu ferme l'éditeur VBA, retour dans Excel
Tu sélectionne la cellule où tu veux mettre le résultat.
Tu tape la formule... =som_couleur("A10:B15",LeNumero de la couleur)
j'ai mis A10:B15 pour l'exemple, à toi d'adapter, tu peu aussi faire comme pour une autre formule en sélectionnant une plage.
le numéro de la couleur dépend de celle que tu veux sélectionner (de 1 à 52)
A+
0
cris16 Messages postés 9 Date d'inscription mardi 23 février 2010 Statut Membre Dernière intervention 22 mars 2010
24 févr. 2010 à 07:56
Merci lermite222 pour ta réponse rapide.

J'ai maintenant une question qui viens assez rapidement :
- où puis-je trouver le code des couleurs (quel numéro correspond à quelle couleur)

Merci beaucoup de ton aide

A+
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
24 févr. 2010 à 13:04
dans l'éditeur VBA tu tape F1 pour avoir l'aide.
tu met PatternColorIndex, propriété dans la recherche et tu auras ta réponse.
A+
0