Somme de plusieurs cellules suivant un critère

Bonjour la communauté,

J’ai un souci avec une macro depuis 3 jours et je souhaite vous le soumettre pour vos éventuelles contributions qui seront les bienvenues.

J’ai un tableau de 3 colonnes ordonnées comme suit : Code-Libellés-Montant. A l’aide d’un formulaire, je rentre les données de dépenses avec 3 textbox dans les colonnes respectives. Il peut arriver qu’un même code se répète sur plusieurs lignes de suite avec des libellés et des montants correspondants dans leurs colonnes respectives. Les codes représentent des lignes budgétaires pour lesquelles je dois faire un suivi.

CodeLibellésMontant
A1Dépense13 500​
A1Dépense25 000​
A1Dépense32 000​
B1Dépense410 000​
B1Dépense57 200​
C1Dépense615 000​
C1Dépense76 300​
C1Dépense83 100​
C1Dépense92 000​

A cet effet grâce à un combobox, je fais appel avec trie sans doublon des codes de la première colonne. Ce que je souhaite, c’est d’obtenir dans un textbox4, la somme des montants correspondants à ce code qu’on retrouve dans la colonne 3.

J’ai fouillé sur internet à la recherche de macros similaires pour adaptation, mais hélas ! En fait je suis débutant en vba.

Merci d'avance!

Bonjour,

Normalement on utilise plus souvent un TCD sur table structurée pour faire ce genre d'analyse, c'est beaucoup plus simple et pratique. Cependant un test à adapter à votre fichier étant donné que vous n'en avez pas mis à disposition :

Private Sub ComboBox1_Change()
Me.TextBox1 = Format(Application.WorksheetFunction.SumIf(Worksheets("Feuil1").Columns(1), Me.ComboBox1, Worksheets("Feuil1").Columns(3)), "### ###")
End Sub

Et le fichier de test joint.

Cdlt,

9classeur1.xlsm (19.99 Ko)

PS : Je ne me suis pas occupé de la partie chargement de la combobox sans doublon via dico vu que vous la maîtrisez déjà.

Merci beaucoup Ergotamine,

J'avais complètement oublié que je pouvais adapter les formules classiques d'Excel en macro.

Je l'ai essayé et ça marche super bien!

Cordialement!

Rechercher des sujets similaires à "somme suivant critere"