OVH Cloud OVH Cloud

sommesi suite

3 réponses
Avatar
rdt83
rebonjour
j'ai bien lu partout et comme je ne m'y connais pas bien
voici ci-apres le module vba qui devrait additionner des
cellules seulement si elles sont rouge dans une plage :

Sub couleur()
Function SommeSiRouge(PlageDeCellules As Range)

Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
SommeSiRouge = SommeSiRouge + C.Value
End If
End If
Next
Set C = Nothing
End Function

merci de me dire ce qui ne va pas

3 réponses

Avatar
garnote
Salut,

Et comme ceci, ça fonctionne ?
Sub couleur() est à enlever.
J'ai changé SommeSiRouge pour sr;
plus simple à écrire.

Function sr(PlageDeCellules As Range)
Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
sr = sr + C.Value
End If
End If
Next
Set C = Nothing
End Function

Serge

"rdt83" a écrit dans le message de news:
16dd401c41804$9c12cc70$
rebonjour
j'ai bien lu partout et comme je ne m'y connais pas bien
voici ci-apres le module vba qui devrait additionner des
cellules seulement si elles sont rouge dans une plage :

Sub couleur()
Function SommeSiRouge(PlageDeCellules As Range)

Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
SommeSiRouge = SommeSiRouge + C.Value
End If
End If
Next
Set C = Nothing
End Function

merci de me dire ce qui ne va pas




Avatar
rdt83
non, le nom de la macro a disparu de ma feuille

"garnote" a écrit dans le message de
news:puXac.74185$
Salut,

Et comme ceci, ça fonctionne ?
Sub couleur() est à enlever.
J'ai changé SommeSiRouge pour sr;
plus simple à écrire.

Function sr(PlageDeCellules As Range)
Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
sr = sr + C.Value
End If
End If
Next
Set C = Nothing
End Function

Serge

"rdt83" a écrit dans le message de news:
16dd401c41804$9c12cc70$
rebonjour
j'ai bien lu partout et comme je ne m'y connais pas bien
voici ci-apres le module vba qui devrait additionner des
cellules seulement si elles sont rouge dans une plage :

Sub couleur()
Function SommeSiRouge(PlageDeCellules As Range)

Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
SommeSiRouge = SommeSiRouge + C.Value
End If
End If
Next
Set C = Nothing
End Function

merci de me dire ce qui ne va pas








Avatar
Misange
Bonsoir,
C'est normal c'est une fonction pas une macro.
Où as tu placé ta fonction ? Dans le module de la feuille (pas bon) ou
dans un module ordinaire (obligatoire).
Comment appelles tu ta fonction ?
Steplé, si tu pouvais rester dans le fil de conversation quand tu n'as
pas encore ta réponse, c'est plus facile à suivre ! (tu fais répondre à
au lieu de nouveau et tu te réponds à toi même si tu veux ajouter une
précision à ta question.


Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta


le 01/04/2004 18:42:
non, le nom de la macro a disparu de ma feuille

"garnote" a écrit dans le message de
news:puXac.74185$

Salut,

Et comme ceci, ça fonctionne ?
Sub couleur() est à enlever.
J'ai changé SommeSiRouge pour sr;
plus simple à écrire.

Function sr(PlageDeCellules As Range)
Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
sr = sr + C.Value
End If
End If
Next
Set C = Nothing
End Function

Serge

"rdt83" a écrit dans le message de news:
16dd401c41804$9c12cc70$

rebonjour
j'ai bien lu partout et comme je ne m'y connais pas bien
voici ci-apres le module vba qui devrait additionner des
cellules seulement si elles sont rouge dans une plage :

Sub couleur()
Function SommeSiRouge(PlageDeCellules As Range)

Dim C As Range
For Each C In PlageDeCellules
If C.Interior.ColorIndex = 3 Then
If IsNumeric(C) Then
SommeSiRouge = SommeSiRouge + C.Value
End If
End If
Next
Set C = Nothing
End Function

merci de me dire ce qui ne va pas