Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Help : somme de cellules de couleurs identiques

7 réponses
Avatar
Jean Tiendeux
Bonjour,

Je cherche à additionner plusieurs valeurs (des nombres) disséminées tout au
long d'une feuille (dans 2 colonnes différentes) qui ne présentent comme
point commun que d'avoir la même couleur de fond.

Je pensais les sélectionner manuellement avec l'outil Somme mais j'en ai
plus de 50 et ça bloque à partir de la 30ème...

Quelqu'un pourrait-il m'aider à faire ce total des valeurs dont la cellule
est de couleur jaune ? (J'arrive à les retrouver par type de format mais pas
moyen de les exploiter pour additionner ! Je crois me souvenir qu'il y a une
telle fonction "atteindre"...?)

Cordialement, JT2.
(Oter MAJ. si réponse perso)

7 réponses

Avatar
papou
Bonjour
Si les couleurs de fond sont issues d'un MEFC, tu peux peut-être utiliser
Edition Atteindre, Cellules, Formats conditionnels.
Sinon, chez Misange il y a une méthode en VBA :
http://www.excelabo.net/excel/denombrer.php#nbformcond

Et ça aussi :
http://www.excelabo.net/excel/formatsmanip.php#sommecouleur

Cordialement
Pascal

"Jean Tiendeux" a écrit dans le message
de news: 464b07fa$0$31993$
Bonjour,

Je cherche à additionner plusieurs valeurs (des nombres) disséminées tout
au long d'une feuille (dans 2 colonnes différentes) qui ne présentent
comme point commun que d'avoir la même couleur de fond.

Je pensais les sélectionner manuellement avec l'outil Somme mais j'en ai
plus de 50 et ça bloque à partir de la 30ème...

Quelqu'un pourrait-il m'aider à faire ce total des valeurs dont la cellule
est de couleur jaune ? (J'arrive à les retrouver par type de format mais
pas moyen de les exploiter pour additionner ! Je crois me souvenir qu'il y
a une telle fonction "atteindre"...?)

Cordialement, JT2.
(Oter MAJ. si réponse perso)



Avatar
ffo
Salut à toi
Soit la feuil1 et les colonne A et B
Le fond des cellules marquées en jaune code "6"
Je te propose ce code :

Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([B1], [A65535].End(xlUp))
If c.Interior.ColorIndex = 6 Then
n = n + c
End If
Next
MsgBox (n)

Tu peux adapter la couleur en modifiant le paramètre 6 dans l'instruction
If c.Interior.ColorIndex = 6 Then

Je ne sais pas celle que tu utilise

Celà te convient'il ???
Dis moi !!!


Bonjour,

Je cherche à additionner plusieurs valeurs (des nombres) disséminées tout au
long d'une feuille (dans 2 colonnes différentes) qui ne présentent comme
point commun que d'avoir la même couleur de fond.

Je pensais les sélectionner manuellement avec l'outil Somme mais j'en ai
plus de 50 et ça bloque à partir de la 30ème...

Quelqu'un pourrait-il m'aider à faire ce total des valeurs dont la cellule
est de couleur jaune ? (J'arrive à les retrouver par type de format mais pas
moyen de les exploiter pour additionner ! Je crois me souvenir qu'il y a une
telle fonction "atteindre"...?)

Cordialement, JT2.
(Oter MAJ. si réponse perso)





Avatar
JB
Bonjour,

http://boisgontierjacques.free.fr/pages_site/fonctioncouleurfond.htm

Function SommeCouleurFond(champ As Range, couleurFond)
Application.Volatile
Dim c, temp
temp = 0
For Each c In champ
If c.Interior.ColorIndex = couleurFond Then
If IsNumeric(c.Value) Then temp = temp + c.Value
End If
Next c
SommeCouleurFond = temp
End Function

Cordialement JB



On 16 mai, 15:32, "Jean Tiendeux"
wrote:
Bonjour,

Je cherche à additionner plusieurs valeurs (des nombres) disséminée s tout au
long d'une feuille (dans 2 colonnes différentes) qui ne présentent co mme
point commun que d'avoir la même couleur de fond.

Je pensais les sélectionner manuellement avec l'outil Somme mais j'en ai
plus de 50 et ça bloque à partir de la 30ème...

Quelqu'un pourrait-il m'aider à faire ce total des valeurs dont la cell ule
est de couleur jaune ? (J'arrive à les retrouver par type de format mai s pas
moyen de les exploiter pour additionner ! Je crois me souvenir qu'il y a une
telle fonction "atteindre"...?)

Cordialement, JT2.
(Oter MAJ. si réponse perso)


Avatar
FFO
Rebonjours
Solution indépendante de la couleur utilisée mais attention il ne doit y
avoir que les cellules colorées pour l'addition dans les 2 colonnes
Soit la feuil1 et les colonne A et B

Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([B1], [A65535].End(xlUp))
If c.Interior.ColorIndex <> xlNone Then
n = n + c
End If
Next
MsgBox (n)

Peut être mieux


Bonjour,

Je cherche à additionner plusieurs valeurs (des nombres) disséminées tout au
long d'une feuille (dans 2 colonnes différentes) qui ne présentent comme
point commun que d'avoir la même couleur de fond.

Je pensais les sélectionner manuellement avec l'outil Somme mais j'en ai
plus de 50 et ça bloque à partir de la 30ème...

Quelqu'un pourrait-il m'aider à faire ce total des valeurs dont la cellule
est de couleur jaune ? (J'arrive à les retrouver par type de format mais pas
moyen de les exploiter pour additionner ! Je crois me souvenir qu'il y a une
telle fonction "atteindre"...?)

Cordialement, JT2.
(Oter MAJ. si réponse perso)





Avatar
Jean Tiendeux
"ffo" a écrit dans le message de news:

Salut à toi
Soit la feuil1 et les colonne A et B
Le fond des cellules marquées en jaune code "6"
Je te propose ce code :
Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([B1], [A65535].End(xlUp))
If c.Interior.ColorIndex = 6 Then
n = n + c
End If
Next
MsgBox (n)
Tu peux adapter la couleur en modifiant le paramètre 6 dans l'instruction
If c.Interior.ColorIndex = 6 Then
Je ne sais pas celle que tu utilise
Celà te convient'il ???
Dis moi !!!


1) mes compétences sont limitées... Je sais accéder aux scripts mais je ne
sais pas où coller ce code ? (VBAproject Feuil1, Feuil1, Module1 ou This
Worbook ?), ni comment le lancer ?...

2) Ensuite, dans quelle cellule cela va me faire la somme ? (I130 à I 146
m'irait très bien)

le fichier pour info (les chiffres à additionner sont dans les colonnes C et
H exceptés les totaux)
http://rapidshare.com/files/31631641/Total_KNP_mars_2007.xls.html
J'oubliais : j'utilise Excel 2003 sous winXP.

Cdlt, JT2

Avatar
FFO
Re bonjours Jean
Tu crées une macro comme ceci :
Outils/Macro/Nouvel/Macro
Tu choisis le nom de la Macro et OK
Tu arrètes l'enregistrement avec l'icone "Arr" en cliquant sur le carré bleu
(et non pas la croix rouge)
Puis
Outils/Macro/Macros
selectionnes le nom de la Macro et click sur Modifier
Recopies mon code entre le Sub et le End Sub (évite les petite cote en début
de ligne)
Puis enregistres
Fermes l'écran du code (Fichier/Fermer)
Puis
Outils/Macro/Macros
selectionnes le nom de la Macro et click sur Executer

Attention les colonnes concernées sont A et B de l'onglet Feuil1
La couleur des fonds de cellule à additionner est le jaune citron
Si tu ne sais pas exactement la couleur concernée prends plutôt mon 2° code
qui lui s'affranchit de l'identification de la couleur pourvu qu'il y en est
une et que seules les cellules concernées soient colorées :

Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([B1], [A65535].End(xlUp))
If c.Interior.ColorIndex <> xlNone Then
n = n + c
End If
Next
MsgBox (n)

Tu as le résultat dans une boîte de dialogue
Si tu préfères une cellule telle que I130 pour ce résultat remplace la ligne:
MsgBox (n)
par
Range("I130") = n

J'espère qu'avec toutes ces explications tu auras satisfaction
Dis moi !!!



"ffo" a écrit dans le message de news:

Salut à toi
Soit la feuil1 et les colonne A et B
Le fond des cellules marquées en jaune code "6"
Je te propose ce code :
Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([B1], [A65535].End(xlUp))
If c.Interior.ColorIndex = 6 Then
n = n + c
End If
Next
MsgBox (n)
Tu peux adapter la couleur en modifiant le paramètre 6 dans l'instruction
If c.Interior.ColorIndex = 6 Then
Je ne sais pas celle que tu utilise
Celà te convient'il ???
Dis moi !!!


1) mes compétences sont limitées... Je sais accéder aux scripts mais je ne
sais pas où coller ce code ? (VBAproject Feuil1, Feuil1, Module1 ou This
Worbook ?), ni comment le lancer ?...

2) Ensuite, dans quelle cellule cela va me faire la somme ? (I130 à I 146
m'irait très bien)

le fichier pour info (les chiffres à additionner sont dans les colonnes C et
H exceptés les totaux)
http://rapidshare.com/files/31631641/Total_KNP_mars_2007.xls.html
J'oubliais : j'utilise Excel 2003 sous winXP.

Cdlt, JT2






Avatar
FFO
En te relisant je m'aperçois que tes cellules à additionner sont colonnes C
et H
Dans cette perspective il faut utiliser ce code modifié :

Sheets("Nom de la feuille").Select
For Each c In Worksheets("Nom de la feuille").Range([C1], [C65535].End(xlUp))
If c.Interior.ColorIndex <> xlNone Then
n = n + c
End If
Next
For Each c In Worksheets("Nom de la feuille").Range([H1], [H65535].End(xlUp))
If c.Interior.ColorIndex <> xlNone Then
n = n + c
End If
Next

Range("I130") = n

N'oublies pas d'actualiser le nom de ton Onglet en remplaçant "Nom de la
feuille" dans le code par celui-ci
J'espère correspondre cette fois-ci à tes attentes
Dis moi!!


"ffo" a écrit dans le message de news:

Salut à toi
Soit la feuil1 et les colonne A et B
Le fond des cellules marquées en jaune code "6"
Je te propose ce code :
Sheets("Feuil1").Select
For Each c In Worksheets("Feuil1").Range([B1], [A65535].End(xlUp))
If c.Interior.ColorIndex = 6 Then
n = n + c
End If
Next
MsgBox (n)
Tu peux adapter la couleur en modifiant le paramètre 6 dans l'instruction
If c.Interior.ColorIndex = 6 Then
Je ne sais pas celle que tu utilise
Celà te convient'il ???
Dis moi !!!


1) mes compétences sont limitées... Je sais accéder aux scripts mais je ne
sais pas où coller ce code ? (VBAproject Feuil1, Feuil1, Module1 ou This
Worbook ?), ni comment le lancer ?...

2) Ensuite, dans quelle cellule cela va me faire la somme ? (I130 à I 146
m'irait très bien)

le fichier pour info (les chiffres à additionner sont dans les colonnes C et
H exceptés les totaux)
http://rapidshare.com/files/31631641/Total_KNP_mars_2007.xls.html
J'oubliais : j'utilise Excel 2003 sous winXP.

Cdlt, JT2