Somme en fonction 2 parametres VISUAL BASIC
ivain34
Messages postés
12
Statut
Membre
-
Bidouilleu_R Messages postés 1209 Statut Membre -
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,
Je voudrai trouver une boucle sur visual basic qui puisse faire la somme de cellues (colonne A) en fonction de deux parametres texte fixe (colonnes B et C).
Pour etre clair :
Si la cellule B1 correspond au texte "consigneB" et si C1 correspond au texte "consigneC" on commence l'addition avec A1.
On passe à la ligne. Si les memes conditions sont respectées en B2 et C2, on selectionne A2 et on l'additionne à A1.
Etc...
D'avance merci pour l'aide que vous pourrez m'apporter !
Je voudrai trouver une boucle sur visual basic qui puisse faire la somme de cellues (colonne A) en fonction de deux parametres texte fixe (colonnes B et C).
Pour etre clair :
Si la cellule B1 correspond au texte "consigneB" et si C1 correspond au texte "consigneC" on commence l'addition avec A1.
On passe à la ligne. Si les memes conditions sont respectées en B2 et C2, on selectionne A2 et on l'additionne à A1.
Etc...
D'avance merci pour l'aide que vous pourrez m'apporter !
A voir également:
- Somme en fonction 2 parametres VISUAL BASIC
- Visual basic - Télécharger - Langages
- Fonction si et - Guide
- Supercopier 2 - Télécharger - Gestion de fichiers
- Parametres de mon ordinateur - Guide
- Fonction somme excel - Guide
4 réponses
Bonjour,
Ta question serait plus appropriée dans le forum Bureautique.
Néanmoins, si tu parles bien d'Excel, recherche du côté de la fonction SOMME.SI()
Xavier
Ta question serait plus appropriée dans le forum Bureautique.
Néanmoins, si tu parles bien d'Excel, recherche du côté de la fonction SOMME.SI()
Xavier
Bonjour,
une solution parmi d'autres,
on peut aussi écrire une fonction et on peut aussi
utiliser somme.si.ens ( somme si savec plusieurs critères)
mais tu dis que tu veux une boucle alors voilà une boucle.
une solution parmi d'autres,
on peut aussi écrire une fonction et on peut aussi
utiliser somme.si.ens ( somme si savec plusieurs critères)
mais tu dis que tu veux une boucle alors voilà une boucle.
Sub sommeSurCritère()
Dim C As Range
Dim nbLig As Long
Dim maSomme As Double
nbLig = Sheets("feuil1").Range("A65635").End(xlUp).Row
maSomme = 0
For Each C In Range("A2:A" & nbLig) ' je suppose que la plage comme de A2 à Axxx
If C.Offset(0, 1) = "ConsigneB" And C.Offset(0, 2) = "ConsigneC" Then
maSomme = maSomme + C.Value
End If
Next
MsgBox maSomme
End Sub
Pour le fun! mais on est pas loin de réinventer la roue :-)
Sub test()
Dim y as double
' pour des valeurs commençant en A2
y = SommeSiBoucle(2, 1, 2, 3)
End Sub
Function SommeSiBoucle(ligDep As Integer, colDep As Integer, colCritere1 As Integer, colCritere2 As Integer)
Dim nblig As Long
Dim maSomme As Double
nblig = ActiveSheet.Cells(ligDep, colDep).End(xlDown).Row
maSomme = 0
For Each C In Range(Cells(ligDep, colDep), Cells(nblig, colDep))
' Ici on pourrait passer le critère en paraètres avec une variable string
If C.Offset(0, (colCritere1 - 1)) = "ConsigneB" And C.Offset(0, (colCritere2 - 1)) = "ConsigneC" Then
maSomme = maSomme + C.Value
End If
SommeSiBoucle = maSomme
Next
End Function