1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Sub list()
Dim i, j, k, compt, sum As Integer
compt = 0
For i = 1 To 22
For j = 1 To i
If Range("A" & i).Value <> Range("A" & j).Value Then 'je teste un nombre avec tous ses antécédants sur la liste
Else
compt = compt + 1 'si le nombre est égal à un antécédant j'incrémente le compteur
End If
Next
If compt > 1 Then 'si le compteur est supérieur à 1, le nombre est donc déja dans la liste des antécédents et je fait rien
Else 'sinon c'est un nouveau nombre et je l'ajoute dans la liste sans doublon
k = k + 1
Range("B" & k) = Range("A" & i) 'j'inscrit le nouveau nombre
End If
compt = 0
Next
'On calcule à present la somme de chaque élément
sum = 0
For i = 1 To k
For j = 1 To 21
If Range("A" & j).Value = Range("B" & i).Value Then 'je fais le test pour reperer tous les nombres égaux
sum = sum + Range("A" & j).Value ' j'en fais la somme
Else
End If
Next
Range("C" & i).Value = sum 'j'inscrit la somme sur la colonne C
sum = 0
Next
End Sub |
Partager