EXCEL - somme automatique sur chgt de couleur

Fermé
laurent77 - 30 déc. 2007 à 14:08
 néné - 3 janv. 2008 à 19:33
Bonjour,

Je suis à la recherche d'un expert pour une problématique sous excel. En effet, j'ai un tableau qui contient toujours les mêmes valeurs. Dans ce tableau, la valeur prise en compte dans chaque cellule est manuelle et symbolisée par un changement de couleur. Par exemple, si j'ai un cellule contenant une valeur qui n'a pas encore été utilisé, la couleur sera jaune et une fois utilisée, la personne en charge de ce fichier la passera à la couleur verte. Je voudrais que ce changement de couleur soit vienne compléter la somme automatique gérée en fin de colonne..j'éspère avoir été clair dans mes explications.

Merci

laurent
A voir également:

10 réponses

supernico Messages postés 513 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 20 novembre 2011 193
30 déc. 2007 à 14:12
par exemple, compter le nombre de cellules vertes ?
0
je veux taider mais vraiment jai pas compris si tu peux etre plus clair
0
Bonjour,

Merci de ton aide.

L'idée est de valider une cellule "somme automatique" si et seulement si la ou les cellules concernées sont dans une couleur précise.
par exemple, par défaut toutes les cellules d'une colonne sont blanches, de ce fait la cellule qui fait le totale est vide. lorsque je change
la couleur d'une des cellule pour une couleur fixe, je veux que la cellule qui fait le total fasse la somme de cette dernière plus celle des autres qui pourraient changer de couleur par la suite...

tu vois un peu mieux ?

laurent
0
supernico Messages postés 513 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 20 novembre 2011 193
31 déc. 2007 à 10:58
0
Bonjour et merci de ton aide. Cela fonctionne mais comment faire pour que cela soit dynamique à chaque changement de couleur de cellule ? je pensais à la notion de LOOP avec un arrêt quand toutes les cellules sont jaunes par exemple mais comment faire ?

Merci de ton aide.

Laurent
0
bJR

Voici une fonction VBA personnalisée qui fait la somme de valeur qui sont dans des cellules blanches


Function SOMMECOULEUR(PLAGE As Range) As Double
Application.Volatile
Dim Cellule As Range
Dim TOTALPARTIEL As Double
TOTALPARTIEL = 0
For Each Cellule In PLAGE.Cells
If Cellule.Interior.ColorIndex = 2 Then '2 égal blanc
TOTALPARTIEL = TOTALPARTIEL + Cellule.Value
End If
Next Cellule
SOMMECOULEUR = TOTALPARTIEL
End Function
0
Merci pour la fonction, cela marche très bien. La particularité avec cette fonction s'est qu'elle ne semble pas être dynamique. En effet, elle fonctionne très bien si je prends une colonne pour laquelle je ne fais pas de modification mais j'aimerai que la fonction recalcule si je change à n'importe quel moment la couleur d'une cellule. Je me demandais si la notion de loop ne marcherait pas dans ce cas ? de plus, il y a un paramètre de fin puisque si toute les cellules de la plage sont en jaune par exemple, la fonction peut s'arrêter et la somme sera 0 !

Merci de ton aide.

Laurent
0

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

Posez votre question
Bonjour à tous,

pour rendre dynamique la plage B2:F17 en utilisant la proposition de Néné (je compte le rouge plus facile à voir!!!) par macro événementielle

a copier coller dans le module feuille (clic droit sur l'onglet de la feuille et "visualiser le code"

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B2:F17")) Is Nothing Then: Exit Sub
Dim Cellule As Range
Dim TOTALPARTIEL As Double
TOTALPARTIEL = 0
For Each Cellule In Range("B2:F17").Cells
If Cellule.Interior.ColorIndex = 3 Then '2 égal blanc
TOTALPARTIEL = TOTALPARTIEL + Cellule.Value
End If
Next Cellule
Range("H2") = TOTALPARTIEL
End Sub

en espèrant que...
0
Bonjour,

Merci de ton aide mais une fois le code copié dans ma feuille, comment fais-je appelle à cette fonction ?

laurent
0
Cela semble ne pas fonctionner ! merci de ton aide
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
2 janv. 2008 à 12:28
re,

sur une cellule avec une valeur, passe la couleur en rouge
0
J'ai trouvé une fonction qui fonctionne très bien mais pas de manière dynamique....

-------------------------------
Function SumByColor(PlageEntree As Range, CouleurPlage As Range) As Double
Dim Cell As Range, TempSum As Double, ColorIndex As Integer
ColorIndex = CouleurPlage.Cells(1, 1).Interior.ColorIndex
TempSum = 0
On Error Resume Next
For Each Cell In PlageEntree.Cells
If Cell.Formula < > "" Then
If Cell.Interior.ColorIndex = ColorIndex Then TempSum = TempSum + _
Cell.Value
End If
Next Cell
On Error GoTo 0
Set Cell = Nothing
SumByColor = TempSum
End Function
----------------------------------------

Si quelqu'un à une solution !

merci
0
Bjr

met ceux ci en événementionnel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
0
Bonsoir,

Je dois vraiment être une tange mais je ne comprends pas ta réponse....

Que veux-tu dire par:
---
met ceux ci en événementionnel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
---

Donne moi un exemple, c'est quoi en évenementionnel ???

Merci de ton aide
0
DIMITRI618 Messages postés 14 Date d'inscription mardi 1 janvier 2008 Statut Membre Dernière intervention 4 janvier 2008 5
2 janv. 2008 à 20:36
Bonjour,
Je n'ai pas très bien compris ton problème, mais essaie format-Mise en forme conditionnelle, sur les cellules que tu veux. Tu peux faire en sorte qu'Excel modifie la couleur de certaines cellules automatiquement suivant les critères que tu as définis.
Bonne chance,
@ +
0
bjr


Clic droit l'onglet de la page ou ce trouve tes valeurs puis "Visualiiser le code"

copie ce code en dessous General




Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub


puis ferme la fenetre
0