Somme d'ensembles sous conditions

Bonjour,

Je souhaite effectuer la somme d'un ensemble de nombres, sous certaines conditions.

Il y a dans la colonne B des nombres sur chaque ligne. Ils sont associés à d'autres nombres de la colonne A. Les nombres de la colonne A varient de 1 à 10 000.

J'aimerais que tous les nombres de la colonne B qui sont associés au même nombre dans la colonne A soient sommés dans la colonne C.

Je joins à ce message le fichier Excel correspondant. J'ai essayé d'utiliser SOMME.SI.ENS, sans réussir à aboutir.

Pouvez-vous m'aider ?

Merci à tous,

Mim125

18classeur1.xlsx (8.66 Ko)

Bonjour,

une petite question :

la colonne A est toujours trier dans l'ordre croissante ?

Bonjour minanse,

Oui, la colonne A est toujours triée dans l'ordre croissant.

Mim125

Bonjour,

3 manières de faire

P.

25classeur1.xlsx (12.66 Ko)

une proposition à tester :

Sub test()
Dim lastLigne As Integer
Dim resultat As Integer
Dim tmp As Integer
Dim max As Integer
Dim tmp2 As Integer
tmp = 2
lastLigne = Range("A" & Rows.Count).End(xlUp).Row
max = Cells(lastLigne, 1).Value

For i = 1 To max
tmp2 = tmp
While Cells(tmp, 1) = i
  resultat = resultat + Cells(tmp, 2).Value
  tmp = tmp + 1
Wend
  Cells(tmp2, 3).Value = resultat
  resultat = 0
Next i

End Sub

avec le mini tableau que vous avez fournie cela marche j'attend votre retour et disponible pour tout question concernant le code

C'est fantastique ! Toutes vos solutions fonctionnent à merveille !

Merci pour votre aide !!

Mim125

Juste pour le fun et la rapidité en cas de nombreuses lignes

Sub Totaliser()
Set mondico = CreateObject("Scripting.Dictionary")
With Sheets("feuil1")
For Each c In .Range(.Cells(4, 1), .Cells(.Rows.Count, 1).End(xlUp))
    If c <> "" Then mondico(c.Value) = mondico(c.Value) + c.Offset(, 1).Value
  Next c
[I15].Resize(mondico.Count, 1) = Application.Transpose(mondico.Keys)
[J15].Resize(mondico.Count, 1) = Application.Transpose(mondico.Items)
End With
End Sub

bonsoir

pour le sport ,en conformité avec la demande ; en colonne C

=SI(LIGNE()-3=EQUIV(A4;A$4:A$21;0);SOMME.SI(A$4:A$21;A4;B$4:B$21);"")

cordialement

Rechercher des sujets similaires à "somme ensembles conditions"