Somme de certaines cellules en fonction des données d'autres cellules

Bonjour,

Je souhaiterais créer un programme qui recherche dans ma colonne B les lignes dont les chiffres sont supérieurs à 60000000 et qui somme les montants de la colonne G qui correspondent à ces mêmes lignes.

J’ai essayé avec la formule suivante mais elle m’affiche la somme de la colonne G entière et pas seulement sur les lignes dont le chiffre en B est > 60000000

Option Explicit
Const lignedeb = 2

Sub test()
Dim lignefin
Dim i
Dim somme
With ActiveSheet
lignefin = .Range("B" & Rows.Count).End(xlUp).Row
For i = 1 To Range("B" & Rows.Count).End(xlUp).Row
If Cells(i, 2).Value >= 60000000 Then
somme = Application.WorksheetFunction.Sum(Range("G" & lignedeb & ":G" & lignefin))
MsgBox (somme)
End If
Next i
End With
End Sub

Pouvez-vous m’aider ?

Merci d’avance

Bonjour,

un essai sans conviction :

somme = Application.WorksheetFunction.SumIf(Range("B" & lignedeb & ":B" & lignefin,"">60000000"",Range("G" & lignedeb & ":G" & lignefin))

en fait il faut faire la somme de la colonne G si en colonne B on a >60000000...

Donc un SumIf

@ bientôt

LouReeD

Merci pour ta réponse,

il y a une erreur de syntaxe dans la ligne que je n'arrive pas à résoudre pour tester la formule

Essayez ceci :

somme = Application.WorksheetFunction.SumIf(Range("B" & lignedeb & ":B" & lignefin), ">60000000", Range("G" & lignedeb & ":G" & lignefin))

@ bientôt

LouReeD

Salut,

Pourquoi s'embêter à faire un programme alors qu'une fonction fait ça très bien :p

Je te glisse un exemple chiffré

14test-somme-si.xlsx (23.38 Ko)

Essayez ceci :

somme = Application.WorksheetFunction.SumIf(Range("B" & lignedeb & ":B" & lignefin), ">60000000", Range("G" & lignedeb & ":G" & lignefin))

@ bientôt

LouReeD

J'ai remplacé Range par Columns("B:B") et Columns("G:G") et cela fonctionne

Merci pour ton aide !

Salut,

Pourquoi s'embêter à faire un programme alors qu'une fonction fait ça très bien :p

Je te glisse un exemple chiffré

Il est vrai que cette solution est bien plus simple, merci beaucoup Girodo !

Bonne fin d'après-midi

Bonsoir,

Salut,

Pourquoi s'embêter à faire un programme alors qu'une fonction fait ça très bien :p

Je te glisse un exemple chiffré

Tout simplement parce que l'on est sur un forum VBA et que la question parle d'un code VBA...

Bonsoir Girodo

@ bientôt

LouReeD

Rechercher des sujets similaires à "somme certaines fonction donnees"