Somme par rapport à un critere

anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010 - 29 mars 2010 à 22:31
anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010 - 1 avril 2010 à 20:10
Bonjour, j'aimerais effectuer une somme par rapport à un critere, je m'explique je parcours la plage C1:C50 et à chaque cellule de cette plage est associé un nombre qui se trouve en colonne J.
J'aimerais que B1 soit la somme de la colonne J seulement lorsque je trouve WS dans la colonne J voici un exemple :

colonne C colonne J
WS 50
ES 20
WS 10

B1 doit afficher 60, voici mon code dans mon cas il m'affiche tout 80

Private Sub CommandButton1_Click()

Dim maCellule As Object
For Each maCellule In Range("C1:C50")

If maCellule.Value = "WS" Then
Range("B1").Formula = "=SUM(J1:J50)"
End If

Next

End Sub

3 réponses

Utilisateur anonyme
30 mars 2010 à 09:14
Bonjour, a partir du moment ou tu trouves un 'WS' tu dis que B1 = somme(J1:J50) et quoi qu'il arrive somm(J1:J50) est égale à 80...

Private Sub CommandButton1_Click()
Range("B1").Value = 0
Dim indice As Integer

For indice = 1 to 50
If Range("C" & indice).Value = "WS" Then
Range("B1").Value = Range("B1").Value + Range("J" & indice).Value
End If
Next
End Sub
0
anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010
30 mars 2010 à 12:39
Ok merci beaucoup il fallait jouer sur les indices
0
anisse09 Messages postés 11 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 21 septembre 2010
1 avril 2010 à 20:10
Bonjour c 'est encore moi :) juste pour info si je dois recupere la valeur d'une cellule sur autre page (ici la page SITE) le code doit il s'ecrire comme cela :

For indice = 1 to 50
If Range("SITE!C" & indice).Value = "WS" Then
Range("B1").Value = Range("B1").Value + Range("SITE!J" & indice).Value
End If
Next
End Sub

Merci
0
Rejoignez-nous