desirant faire une moyenne soit dans une cellule ou colonne, cette moyenne
doit etre realisée uniquement sur des valeurs de la meme couleur.
Exemple
Ligne colonne A B C D
1 10en rouge 5en bleu 5en rouge
et en colonne D je veux faire la moyenne des chiffres uniquement en Rouge).
voila mon petit probleme, j'ai essaye des petites choses avec le
=moyenne(couleur,celluleA1;C1) bref des choses et des choses sans vraiment
resultat desiré.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour. Utilise la fonction ci-dessous. Tu dois préciser le nombre correspondant à la couleur (255 pour le rouge "standard"). La couleur prise en compte est la couleur du fond de la cellule, pas celle de la police :
Function MoyenneCouleur(Couleur As Integer, Plage As Range) Dim c As Range For Each c In Plage If c.Interior.Color = Couleur Then If IsNumeric(c.Value) Then ctr = ctr + c.Value nb = nb + 1 End If End If If nb > 0 Then MoyenneCouleur = ctr / nb Else: MoyenneCouleur = "" End If Next c End Function
Cordialement. Daniel
Bonjour a tous,
desirant faire une moyenne soit dans une cellule ou colonne, cette moyenne doit etre realisée uniquement sur des valeurs de la meme couleur. Exemple Ligne colonne A B C D 1 10en rouge 5en bleu 5en rouge
et en colonne D je veux faire la moyenne des chiffres uniquement en Rouge).
voila mon petit probleme, j'ai essaye des petites choses avec le =moyenne(couleur,celluleA1;C1) bref des choses et des choses sans vraiment resultat desiré.
Merci pour votre aide
Bonjour.
Utilise la fonction ci-dessous. Tu dois préciser le nombre
correspondant à la couleur (255 pour le rouge "standard"). La couleur
prise en compte est la couleur du fond de la cellule, pas celle de la
police :
Function MoyenneCouleur(Couleur As Integer, Plage As Range)
Dim c As Range
For Each c In Plage
If c.Interior.Color = Couleur Then
If IsNumeric(c.Value) Then
ctr = ctr + c.Value
nb = nb + 1
End If
End If
If nb > 0 Then
MoyenneCouleur = ctr / nb
Else: MoyenneCouleur = ""
End If
Next c
End Function
Cordialement.
Daniel
Bonjour a tous,
desirant faire une moyenne soit dans une cellule ou colonne, cette moyenne
doit etre realisée uniquement sur des valeurs de la meme couleur.
Exemple
Ligne colonne A B C D
1 10en rouge 5en bleu 5en rouge
et en colonne D je veux faire la moyenne des chiffres uniquement en Rouge).
voila mon petit probleme, j'ai essaye des petites choses avec le
=moyenne(couleur,celluleA1;C1) bref des choses et des choses sans vraiment
resultat desiré.
Bonjour. Utilise la fonction ci-dessous. Tu dois préciser le nombre correspondant à la couleur (255 pour le rouge "standard"). La couleur prise en compte est la couleur du fond de la cellule, pas celle de la police :
Function MoyenneCouleur(Couleur As Integer, Plage As Range) Dim c As Range For Each c In Plage If c.Interior.Color = Couleur Then If IsNumeric(c.Value) Then ctr = ctr + c.Value nb = nb + 1 End If End If If nb > 0 Then MoyenneCouleur = ctr / nb Else: MoyenneCouleur = "" End If Next c End Function
Cordialement. Daniel
Bonjour a tous,
desirant faire une moyenne soit dans une cellule ou colonne, cette moyenne doit etre realisée uniquement sur des valeurs de la meme couleur. Exemple Ligne colonne A B C D 1 10en rouge 5en bleu 5en rouge
et en colonne D je veux faire la moyenne des chiffres uniquement en Rouge).
voila mon petit probleme, j'ai essaye des petites choses avec le =moyenne(couleur,celluleA1;C1) bref des choses et des choses sans vraiment resultat desiré.
Merci pour votre aide
FFO
Salut à toi
Je ne pense que tu puisses utiliser une formule pour réagir sur le format des cellules
Seule solution le code VBA
Cellule A1 et C1 en rouge Cellule B1 en bleu
Aprés avoir mis ta cellule D1 avec la couleur correspondant à celle dont tu souhaites la moyenne utilises ce code (rouge pour ton exemple):
For Each c In Range("A1", "C1") If c.Interior.ColorIndex = Range("D1").Interior.ColorIndex Then Total = Total + c n = n + 1 End If Next Range("D1") = Total / n
Le résultat donc en D1
Actualises :
Range("A1", "C1") pour une autre plage de cellules Range("D1") pour une autre cellule dans laquelle tu souhaites la moyenne
Fais des essais et dis moi !!!!!!!
Salut à toi
Je ne pense que tu puisses utiliser une formule pour réagir sur le
format des cellules
Seule solution le code VBA
Cellule A1 et C1 en rouge
Cellule B1 en bleu
Aprés avoir mis ta cellule D1 avec la couleur correspondant à celle
dont tu souhaites la moyenne utilises ce code (rouge pour ton
exemple):
For Each c In Range("A1", "C1")
If c.Interior.ColorIndex = Range("D1").Interior.ColorIndex Then
Total = Total + c
n = n + 1
End If
Next
Range("D1") = Total / n
Le résultat donc en D1
Actualises :
Range("A1", "C1") pour une autre plage de cellules
Range("D1") pour une autre cellule dans laquelle tu souhaites la
moyenne
Je ne pense que tu puisses utiliser une formule pour réagir sur le format des cellules
Seule solution le code VBA
Cellule A1 et C1 en rouge Cellule B1 en bleu
Aprés avoir mis ta cellule D1 avec la couleur correspondant à celle dont tu souhaites la moyenne utilises ce code (rouge pour ton exemple):
For Each c In Range("A1", "C1") If c.Interior.ColorIndex = Range("D1").Interior.ColorIndex Then Total = Total + c n = n + 1 End If Next Range("D1") = Total / n
Le résultat donc en D1
Actualises :
Range("A1", "C1") pour une autre plage de cellules Range("D1") pour une autre cellule dans laquelle tu souhaites la moyenne
Fais des essais et dis moi !!!!!!!
globule
Merci a vous je vais essayer vos solutions
globule
"FFO" a écrit :
Salut à toi
Je ne pense que tu puisses utiliser une formule pour réagir sur le format des cellules
Seule solution le code VBA
Cellule A1 et C1 en rouge Cellule B1 en bleu
Aprés avoir mis ta cellule D1 avec la couleur correspondant à celle dont tu souhaites la moyenne utilises ce code (rouge pour ton exemple):
For Each c In Range("A1", "C1") If c.Interior.ColorIndex = Range("D1").Interior.ColorIndex Then Total = Total + c n = n + 1 End If Next Range("D1") = Total / n
Le résultat donc en D1
Actualises :
Range("A1", "C1") pour une autre plage de cellules Range("D1") pour une autre cellule dans laquelle tu souhaites la moyenne
Fais des essais et dis moi !!!!!!! .
Merci a vous je vais essayer vos solutions
globule
"FFO" a écrit :
Salut à toi
Je ne pense que tu puisses utiliser une formule pour réagir sur le
format des cellules
Seule solution le code VBA
Cellule A1 et C1 en rouge
Cellule B1 en bleu
Aprés avoir mis ta cellule D1 avec la couleur correspondant à celle
dont tu souhaites la moyenne utilises ce code (rouge pour ton
exemple):
For Each c In Range("A1", "C1")
If c.Interior.ColorIndex = Range("D1").Interior.ColorIndex Then
Total = Total + c
n = n + 1
End If
Next
Range("D1") = Total / n
Le résultat donc en D1
Actualises :
Range("A1", "C1") pour une autre plage de cellules
Range("D1") pour une autre cellule dans laquelle tu souhaites la
moyenne
Je ne pense que tu puisses utiliser une formule pour réagir sur le format des cellules
Seule solution le code VBA
Cellule A1 et C1 en rouge Cellule B1 en bleu
Aprés avoir mis ta cellule D1 avec la couleur correspondant à celle dont tu souhaites la moyenne utilises ce code (rouge pour ton exemple):
For Each c In Range("A1", "C1") If c.Interior.ColorIndex = Range("D1").Interior.ColorIndex Then Total = Total + c n = n + 1 End If Next Range("D1") = Total / n
Le résultat donc en D1
Actualises :
Range("A1", "C1") pour une autre plage de cellules Range("D1") pour une autre cellule dans laquelle tu souhaites la moyenne