Additionner SI

Résolu/Fermé
DUL-VBA Messages postés 2 Date d'inscription dimanche 26 janvier 2014 Statut Membre Dernière intervention 28 janvier 2014 - 26 janv. 2014 à 19:25
DUL-VBA Messages postés 2 Date d'inscription dimanche 26 janvier 2014 Statut Membre Dernière intervention 28 janvier 2014 - 28 janv. 2014 à 10:04
Bonjour,

Je fais mes premiers pas en VBA et je galère un peu...

Je souhaite connaitre le montant total des offres gagnées....

J'ai :
- une feuille A avec une colonne "1" indiquant "P" ou "G" (pour gagné et perdu) et une colonne "2" indiquant des montants.

et Voici ce que je voudrais faire:
indiquer dans la cellule "O14" de la feuille "B" : la somme des montants de la colonne "2" de la feuille "A" si la valeur de la ligne correspondante de la colonne "1" de la feuille B est égale à "G".

Merci de votre aide.

DUL-VBA

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 27/01/2014 à 08:50
Bonjour

Pourquoi en VBA? cela se fait très simplement avec la formule Excel SOMME.SI ?

Si c'est pour apprendre, code très basique (il y a mieux !!!):
Option Explicit

Sub additionner_si()
Dim Derlig As Integer, Lig As Integer, Somme As Double

Application.ScreenUpdating = False
With Sheets(1)
Derlig = .Columns("A").Find("*", , , , , xlPrevious).Row
For Lig = 1 To Derlig
If .Cells(Lig, "A") = UCase("g") Then Somme = Somme + .Cells(Lig, "B")
Next
End With
Sheets(2).Range("O14") = Somme
End Sub

Mais:
Toujours penser Excel avant de penser VBA

Michel
0
DUL-VBA Messages postés 2 Date d'inscription dimanche 26 janvier 2014 Statut Membre Dernière intervention 28 janvier 2014
28 janv. 2014 à 10:04
Merci Michel,

En effet ,la fonction SOMMESI est adaptée.

Et merci aussi pour le code!
0