Les conditions sur 3 colonnes

Bonjour a tous,

je veux somme la colonne ticket sous 2 condition que canal_d'achat= magasin et TYPE_CIBLE=EMAIL ( les tichet des clients qui contiennent ces deux conditions ) sauf je ne vois pas comment rajouté une 3ème condition !

Sub aargh()
dl = Cells(Rows.Count, 1).End(xlUp).Row
valeurcolonne1 = "TEMOIN"
valeurcolonne2 = "Magasin"

somme = 0
For I = 1 To dl
If Cells(I, 7) = valeurcolonne1 And Cells(I, 9) = valeurcolonne2 Then somme = somme + 1
Next I
Sheets("Brouillon").Range("B8").Value = somme
End Sub

merci d'avance

sophie

cc

Bonsoir,

si c'est pour faire des statistiques, je te conseille fortement d'utiliser un TCD.

Sub aargh()
    dl = Cells(Rows.Count, 1).End(xlUp).Row
    criterecol1val1 = "Temoin"
    criterecol1val2 = "EMAIL"
    criterecol2val1 = "Magasin"
    somme = 0
    For i = 1 To dl
        If (Cells(i, 7) = criterecol1val1 Or Cells(i, 7) = criterecol1val2) And Cells(i, 9) = criterecol2val1 Then somme = somme + 1
    Next i
    Sheets("Brouillon").Range("B8").Value = somme
End Sub

Bonjour,

Pour poster du code, vous pouvez utiliser les balises </> du ruban d'icones .

Voici un exemple :

Sub aargh()
dl = Cells(Rows.Count, 1).End(xlUp).Row
valeurcolonne1 = "TEMOIN"
valeurcolonne2 = "Magasin"

somme = 0
For I = 1 To dl
    If Cells(I, 7) = valeurcolonne1 And Cells(I, 9) = valeurcolonne2 and cells(I, 8) = "1_VIP" Then
        somme = somme + 1
    end if
Next I
Sheets("Brouillon").Range("B8").Value = somme
End Sub

Cdlt,

Edit : Salut h2so4 ! aargh m'a fait penser à toi justement !

Bonsoir,

Plutôt que de passer par du VBA vous pouvez utiliser la formule SOMME.SI.ENS

=SOMME.SI.ENS($M:$M;$I:$I;"Magasin";$G:$G;"EMAIL";[plage_critère3;critère3])

A tester

Bonjour,

merci pour vos retour. mon problème c'est que j'ai 2 colonnes qualitatives et la 3ème colonne "Tickets" est quantitative. je travaille sur des statistiques je voudrai compter le nombre de tickets total pour les clients avec le critère EMAIL et MAGASIN avec VBA SVP.

Sub aargh() dl = Cells(Rows.Count, 1).End(xlUp).Row

criterecol1val1 = "Temoin"

criterecol1val2 = "EMAIL"

criterecol2val1 = "????????"

somme = 0 For i = 1 To dl

If (Cells(i, 7) = criterecol1val1 Or Cells(i, 7) = criterecol1val2) And Cells(i, 9) = criterecol2val1 Then

somme = somme + 1 Next i

Sheets("Brouillon").Range("B8").Value = somme

End Sub

merci

bien a vous

Et bien il semblerait que la réponse a déjà été donnée par h2so4 et 3GB. Si ce n'est pas la cas il faudrait être plus clair sur ce qu'il ne va pas.

Petite correction comme votre colonne Ticket que vous voulez sommer n'est pas tjrs égale à 1 :

somme = somme + Cells(i,13).Value
Rechercher des sujets similaires à "conditions colonnes"