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
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
A voir également:
- Faire la somme de cellules coloriées dans TCD
- Tcd excel - Guide
- Somme si couleur - Guide
- Comment faire la somme de plusieurs cellules non consécutives sur excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Verrouiller cellules excel - Guide
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+
Bah c'est une très bonne question :) moi aussi je cherches à faire quelque chose de simillaire alors je vais surveiller ce sujet :)
A+
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
mais merci de ta réponce
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
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+
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+
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+
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+
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
14 nov. 2008 à 11:31
Sans MoreFunc ça marche pas bien sûr.
Ta fonction VBA va aller.
pas besoin de >> nb = 0
A+
Ta fonction VBA va aller.
pas besoin de >> nb = 0
A+
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
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
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
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.
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.
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
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!!!
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!!!
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
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..
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+
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+
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
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+
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+
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
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+
tu met PatternColorIndex, propriété dans la recherche et tu auras ta réponse.
A+
14 nov. 2008 à 09:58
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+