Somme en fonction 2 parametres VISUAL BASIC
ivain34
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
Bidouilleu_R Messages postés 1181 Date d'inscription Statut Membre Dernière intervention -
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
- Formule somme excel colonne - Guide
- Parametres de mon ordinateur - 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