Somme si couleur
Résolu/Fermé
ZbarbN
Messages postés
7
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
27 septembre 2011
-
19 sept. 2011 à 16:02
ZbarbN Messages postés 7 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011 - 20 sept. 2011 à 16:31
ZbarbN Messages postés 7 Date d'inscription lundi 19 septembre 2011 Statut Membre Dernière intervention 27 septembre 2011 - 20 sept. 2011 à 16:31
7 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
19 sept. 2011 à 19:23
19 sept. 2011 à 19:23
Bonsoir,
Ca ne peut être en fait qu'en vba.
Une proposition de fonction personnalisée à mettre dans un module.
Une fois mise dans le classeur ça s'utilise comme une fonction excel :
=sommeCouleurPolice(A1:B12;E1)
fait la somme des nombres de la plage A1:B12 dont la couleur de la police est la même que celle en E1.
Si tu changes la couleur d'un nombre ça ne génère pas d'évènement détectable.
F9 (recalcul) ou une saisie dans la feuille rafraichit le résultat.
Alt+F11 pour ouvrir vbe.
Clic-droit sur le projet (à gauche) et 'insertion / module', coller le code dans le module.
ex: http://www.cijoint.fr/cjlink.php?file=cj201109/cijibOAA4M.xls
eric
Ca ne peut être en fait qu'en vba.
Une proposition de fonction personnalisée à mettre dans un module.
Function sommeCouleurPolice(plage As Range, modèleCouleur As Range) As Double Dim couleur As Long, c As Range Application.Volatile couleur = modèleCouleur.Font.ColorIndex For Each c In plage If c.Font.ColorIndex = couleur And IsNumeric(c) Then sommeCouleurPolice = sommeCouleurPolice + c.Value Next c End Function
Une fois mise dans le classeur ça s'utilise comme une fonction excel :
=sommeCouleurPolice(A1:B12;E1)
fait la somme des nombres de la plage A1:B12 dont la couleur de la police est la même que celle en E1.
Si tu changes la couleur d'un nombre ça ne génère pas d'évènement détectable.
F9 (recalcul) ou une saisie dans la feuille rafraichit le résultat.
Alt+F11 pour ouvrir vbe.
Clic-droit sur le projet (à gauche) et 'insertion / module', coller le code dans le module.
ex: http://www.cijoint.fr/cjlink.php?file=cj201109/cijibOAA4M.xls
eric
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
20 sept. 2011 à 11:55
20 sept. 2011 à 11:55
Bonjour à tous
Avec XL2007
créer un filtre sur la zone de nombres (les nombres sont en B4:B10 pour exemple)
filtrer par couleur==> les cellules non vertes sont masquées
en dessous (b11 par ex) ou ailleurs du tableau,écrire
109 indique que l'on additionne pas les cellules masquée
Avec XL2007
créer un filtre sur la zone de nombres (les nombres sont en B4:B10 pour exemple)
filtrer par couleur==> les cellules non vertes sont masquées
en dessous (b11 par ex) ou ailleurs du tableau,écrire
=SOUS.TOTAL(109;B4:B10)
109 indique que l'on additionne pas les cellules masquée
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
Modifié par Patrice33740 le 20/09/2011 à 12:18
Modifié par Patrice33740 le 20/09/2011 à 12:18
Bonjour Michel,
On peut aussi utiliser : =SOUS.TOTAL(9;B4:B10)
(pour ne compter que les cellules non masquées avec XL2003 et au-delà....)
avec XL2007 pour le filtre sur la couleur.
On peut aussi utiliser : =SOUS.TOTAL(9;B4:B10)
(pour ne compter que les cellules non masquées avec XL2003 et au-delà....)
avec XL2007 pour le filtre sur la couleur.
ZbarbN
Messages postés
7
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
27 septembre 2011
20 sept. 2011 à 15:52
20 sept. 2011 à 15:52
Merci à tous pour vos réponse. J'ai opté pour la solution VBA et ça marche!
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
19 sept. 2011 à 17:22
19 sept. 2011 à 17:22
Bonjour,
Je suppose que ce sont des nombres (et pas seulement des chiffres) qui sont écris en vert.
Sans utiliser le VBA, il faudrait savoir pourquoi ces nombres sont écris en vert.
S'agit-il d'une mise en forme conditionnelle ?
Je suppose que ce sont des nombres (et pas seulement des chiffres) qui sont écris en vert.
Sans utiliser le VBA, il faudrait savoir pourquoi ces nombres sont écris en vert.
S'agit-il d'une mise en forme conditionnelle ?
ZbarbN
Messages postés
7
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
27 septembre 2011
19 sept. 2011 à 19:01
19 sept. 2011 à 19:01
Ce sont effectivement des nombres.
Ces nombres sont en vert parce que je les ai mis volontairement de cette couleur. Le principe est de faire la somme des nombres que lorsque ceux ci ont été validés. J'avais donc choisi d'indiquer la validation par une couleur. Ce n'est pas une MFC, seulement une modification manuelle de la police des nombres.
Il est fort probable que ce ne soit pas la solution la plus simple mais c'est la seule qui m'est venue à l'esprit. Je suis ouvert à toute aide...
Merci d'avoir répondu si vite.
Ces nombres sont en vert parce que je les ai mis volontairement de cette couleur. Le principe est de faire la somme des nombres que lorsque ceux ci ont été validés. J'avais donc choisi d'indiquer la validation par une couleur. Ce n'est pas une MFC, seulement une modification manuelle de la police des nombres.
Il est fort probable que ce ne soit pas la solution la plus simple mais c'est la seule qui m'est venue à l'esprit. Je suis ouvert à toute aide...
Merci d'avoir répondu si vite.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 sept. 2011 à 11:39
20 sept. 2011 à 11:39
Le plus simple est d'utiliser une colonne pour cocher les nombres validés dans la quelle il suffit de mettre un x.
C'est beaucoup plus pratique pour effectuer tous les traitements désirés.
Tu peux utiliser SOMME.SI pour les totaux et une MFC pour mettre en vert les nombres validés
C'est beaucoup plus pratique pour effectuer tous les traitements désirés.
Tu peux utiliser SOMME.SI pour les totaux et une MFC pour mettre en vert les nombres validés
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
20 sept. 2011 à 16:00
20 sept. 2011 à 16:00
Re,
Bien sur que ça marche !!! Eric n'a pas l'habitude de répondre n'importe quoi !
Mais tu as dis toi-même : je ne connais rien au langage VBA
Est-ce bien raisonnable de choisir cette solution ?
La solution de michel me semble très simple et bien plus adaptée !
Bien sur que ça marche !!! Eric n'a pas l'habitude de répondre n'importe quoi !
Mais tu as dis toi-même : je ne connais rien au langage VBA
Est-ce bien raisonnable de choisir cette solution ?
La solution de michel me semble très simple et bien plus adaptée !
ZbarbN
Messages postés
7
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
27 septembre 2011
20 sept. 2011 à 16:19
20 sept. 2011 à 16:19
Même avec mes connaissances limitées j'ai réussi à entrer cette fonction en VBA donc...
J'ai pris le problème avec la première solution que l'on m'avait fourni et comme c'était la VBA je me suis lancé, avec succès!
J'ai pris le problème avec la première solution que l'on m'avait fourni et comme c'était la VBA je me suis lancé, avec succès!
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
20 sept. 2011 à 16:23
20 sept. 2011 à 16:23
Excuse moi de t'avoir dérangé alors
je note ton pseudo pour ne pas renouveler cet impair
je note ton pseudo pour ne pas renouveler cet impair
ZbarbN
Messages postés
7
Date d'inscription
lundi 19 septembre 2011
Statut
Membre
Dernière intervention
27 septembre 2011
20 sept. 2011 à 16:31
20 sept. 2011 à 16:31
aucun dérangement, je l'avais précisé, toute aide était la bienvenue!
Merci encore
Merci encore