Bonjour à tous,

Je souhaiterai créer une macro me permettant d'effectuer un somme selon plusieurs conditions.

Dans la feuille vba, je souhaiterai faire la Somme de la colonne D (feuille collect passif) si colonne C="Gvie" et si colonne A="EDISSIMO"

Je dois répéter cette formule plusieurs fois, la colonne C ne prend que 2 valeurs différentes et la colonne A peut prendre 7 valeurs différentes.

Je dois donc faire 2*7=14 sommes différentes

J'ai commencé à écrire le code ci dessous, cependant je ne sais pas comment faire entre ma 2eme condition pour ma somme.

Merci d'avance pour votre aide, je met en PJ mon fichier xl

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Sub COMPTAGE()
Dim Ws1 As Worksheet 'Feuille "VBA"
Dim Ws2 As Worksheet 'Feuille "Collecte AP"
Dim Cel As Range, MaPlage As Range
Dim Variante As String
Dim LigneCible As Byte
 
Dim LigneFin As Long
Const LigneDebut As Byte = 2
    Set Ws1 = Worksheets("VBA")
    Set Ws2 = Worksheets("Collecte AP")
    'Effacement du tableau
    Ws1.Range("D8:D14,D24:D27").ClearContents
    'Dernière ligne renseignée dans la colonne A de la feuille "Collecte AP"
    LigneFin = Ws2.Range("A" & Ws2.Rows.Count).End(xlUp).Row
    'Définition de la plage renseignée dans la colonne A de la feuille "Collecte AP"
    Set MaPlage = Ws2.Range("A" & LigneDebut & ":A" & LigneFin)
    'On passe en revue chaque cellule de la plage
    For Each Cel In MaPlage
        'On note la variante
        Variante = Cel.Offset(0, 3)
        Select Case Variante
        Case "Gvie"
            LigneCible = 7
        Case "e-cie vie"
            LigneCible = 23
        End Select
        'On met à jour le cumul passif dans la feuille "VBA"
        Ws1.Cells(LigneCible + Cel.Value, 4) = Ws1.Cells(LigneCible + Cel.Value, 4) + Cel.Offset(0, 5)
 
 
    Next Cel
End Sub