A voir également:
- Sumbycolor excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
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
30 déc. 2007 à 14:12
par exemple, compter le nombre de cellules vertes ?
je veux taider mais vraiment jai pas compris si tu peux etre plus clair
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
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
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
31 déc. 2007 à 10:58
regarde ici :
https://apprendreexcel.com/
https://apprendreexcel.com/
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
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
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
Merci de ton aide.
Laurent
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...
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...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
2 janv. 2008 à 12:28
2 janv. 2008 à 12:28
re,
sur une cellule avec une valeur, passe la couleur en rouge
sur une cellule avec une valeur, passe la couleur en rouge
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
-------------------------------
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
Bjr
met ceux ci en événementionnel
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
met ceux ci en événementionnel
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
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
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,
@ +
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,
@ +