Somme des valeurs d'une colonne suivant un critère

10masomme.xlsm (17.06 Ko)

Bonjour la communauté,

Je viens vous soumettre mon problème. En fait j’ai sur ma feuille “DONNEES” un tableau à 2 colonnes. La colonne A contient les indices (qui se répètent), et dans la colonne B contient les valeurs des indices.

Sur mon userform, j’ai un combobox qui me permet de choisir les indices. J’aimerais en cliquant sur le bouton “Calcul”, la somme de toutes les valeurs de l’indice sélectionné s’affiche dans le textbox1. (Voir les résultats tel que le textbox1 devrait l’afficher: K=190, L=160, M=70).

Indice

Valeur

K

100

K

50

L

90

K

10

M

50

L

70

K

30

M

20

J’ai essayé de bricoler le code suivant. Mais ça ne marche pas

Private Sub CommandButton1_Click()

Dim DR As Integer

Dim Donnée As Object

Dim Indice As String

Dim Feuille As Worksheet

Dim i As Integer

Indice = Me.ComboBox1

Set Feuille = Sheets("DONNEES")

DR = Feuille.Range("A" & Rows.Count).End(xlUp).Row

With Feuille

For Each Donnée In .Range("A3:A" & DR)

If Indice = Donnée Then

For i = 3 To DR

Me.TextBox1.Value = WorksheetFunction.Sum(Donnée.Offset(, 1), i)

'Exit For

Next i

End If

Next

End With

Set Feuille = Nothing

Set Donnée = Nothing

End Sub

Merci pour votre sollicitude !

Bonjour,

Pouvez-vous essayer ce code à la place ?

Private Sub CommandButton1_Click()

Dim DR As Integer
Dim Indice As String
Dim Feuille As Worksheet

Indice = Me.ComboBox1
Set Feuille = Sheets("DONNEES")

With Feuille
    DR = .Range("A" & Rows.Count).End(xlUp).Row
    Me.TextBox1.Value = application.sumif(.Range("A3:A" & DR), Indice, .Range("B3:B" & DR))
End With

Set Feuille = Nothing

End Sub

Cordialement,

Parfait 3GB,

Ton code marche super bien!

Merci cordialement!

Super !

Juste pour ta compréhension, au cas où, c'est la fonction sumif (équivalent de SOMME.SI sur excel) qui permet d'obtenir directement ce que tu faisais au moyen de la boucle.

Me.TextBox1.Value = application.sumif(.Range("A3:A" & DR), Indice, .Range("B3:B" & DR))

La valeur de la TextBox est la somme de toutes les cellules en B quand la cellule en A correspondante vaut Indice.

Bonne continuation,

Rechercher des sujets similaires à "somme valeurs colonne suivant critere"