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

Somme de cellules sous condition

5 réponses
Avatar
xem
Bonjour à tout le forum,

Comment faire en ( VBA et/ou avec une fonction ) la somme des cellules dont
la couleur de fond est rouge par exmple ?

Il me semble avoir dejà vu celà sur Exelabo, mais je ne suis pas
capable de le retrouver.

Merci pour vos réponses.

Xem

5 réponses

Avatar
garnote
Bonjour xem,

Peut-être que :

Sub Somme_Rouge()
For Each cellule In ActiveSheet.UsedRange
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
MsgBox "Somme = " & s, vbInformation, "Somme des cellules rouges"
End Sub

Serge

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

Bonjour à tout le forum,

Comment faire en ( VBA et/ou avec une fonction ) la somme des cellules
dont
la couleur de fond est rouge par exmple ?

Il me semble avoir dejà vu celà sur Exelabo, mais je ne suis pas
capable de le retrouver.

Merci pour vos réponses.

Xem



Avatar
garnote
Et ceci :

Function sr(plage As Range) As Double
For Each cellule In plage
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
sr = s
End Function

ReSerge

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

Bonjour xem,

Peut-être que :

Sub Somme_Rouge()
For Each cellule In ActiveSheet.UsedRange
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
MsgBox "Somme = " & s, vbInformation, "Somme des cellules rouges"
End Sub

Serge

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

Bonjour à tout le forum,

Comment faire en ( VBA et/ou avec une fonction ) la somme des cellules
dont
la couleur de fond est rouge par exmple ?

Il me semble avoir dejà vu celà sur Exelabo, mais je ne suis pas
capable de le retrouver.

Merci pour vos réponses.

Xem







Avatar
xem
Merci Serge,

Super.
Pour ma gouverne, le " s " dans "s = s+ cellule.Value"
est une variable non déclarée?

Merci.
Xem

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


Et ceci :

Function sr(plage As Range) As Double
For Each cellule In plage
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
sr = s
End Function

ReSerge

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

Bonjour xem,

Peut-être que :

Sub Somme_Rouge()
For Each cellule In ActiveSheet.UsedRange
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
MsgBox "Somme = " & s, vbInformation, "Somme des cellules rouges"
End Sub

Serge

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

Bonjour à tout le forum,

Comment faire en ( VBA et/ou avec une fonction ) la somme des cellules
dont
la couleur de fond est rouge par exmple ?

Il me semble avoir dejà vu celà sur Exelabo, mais je ne suis pas
capable de le retrouver.

Merci pour vos réponses.

Xem











Avatar
garnote
Ouais, il est plus sage de déclarer les variables.
J'ai modifié un tipeu la fonction.

Function sr(plage As Range) As Double
Dim cellule As Range
Dim s As Double
For Each cellule In plage
If IsNumeric(cellule) Then
If cellule.Interior.ColorIndex = 3 Then s = s + cellule
End If
Next cellule
sr = s
End Function

Serge


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

Merci Serge,

Super.
Pour ma gouverne, le " s " dans "s = s+ cellule.Value"
est une variable non déclarée?

Merci.
Xem

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


Et ceci :

Function sr(plage As Range) As Double
For Each cellule In plage
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
sr = s
End Function

ReSerge

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

Bonjour xem,

Peut-être que :

Sub Somme_Rouge()
For Each cellule In ActiveSheet.UsedRange
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
MsgBox "Somme = " & s, vbInformation, "Somme des cellules rouges"
End Sub

Serge

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

Bonjour à tout le forum,

Comment faire en ( VBA et/ou avec une fonction ) la somme des cellules
dont
la couleur de fond est rouge par exmple ?

Il me semble avoir dejà vu celà sur Exelabo, mais je ne suis pas
capable de le retrouver.

Merci pour vos réponses.

Xem














Avatar
xem
Ahhhh !

Ta réponse me conforte et enlève mes doutes
d'apprenti exeliste.

Merci A+
Xem
"garnote" a écrit dans le message de news:


Ouais, il est plus sage de déclarer les variables.
J'ai modifié un tipeu la fonction.

Function sr(plage As Range) As Double
Dim cellule As Range
Dim s As Double
For Each cellule In plage
If IsNumeric(cellule) Then
If cellule.Interior.ColorIndex = 3 Then s = s + cellule
End If
Next cellule
sr = s
End Function

Serge


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

Merci Serge,

Super.
Pour ma gouverne, le " s " dans "s = s+ cellule.Value"
est une variable non déclarée?

Merci.
Xem

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


Et ceci :

Function sr(plage As Range) As Double
For Each cellule In plage
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
sr = s
End Function

ReSerge

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

Bonjour xem,

Peut-être que :

Sub Somme_Rouge()
For Each cellule In ActiveSheet.UsedRange
If cellule.Interior.ColorIndex = 3 Then s = s + cellule.Value
Next cellule
MsgBox "Somme = " & s, vbInformation, "Somme des cellules rouges"
End Sub

Serge

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

Bonjour à tout le forum,

Comment faire en ( VBA et/ou avec une fonction ) la somme des cellules
dont
la couleur de fond est rouge par exmple ?

Il me semble avoir dejà vu celà sur Exelabo, mais je ne suis pas
capable de le retrouver.

Merci pour vos réponses.

Xem