Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B
si B.value contient "toto" alors
sommetoto = sommetoto + C.value
si B.value contient "tata" alors
sommetata = sometata + C.value
....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
| Parcourir la colonne B | si B.value contient "toto" alors | sommetoto = sommetoto + C.value | si B.value contient "tata" alors | sommetata = sometata + C.value
Les boucles, d'une façon générale, moins il y en a et mieux c'est ! Inutile de parcourir la colonne B pour tester les contenus et ...etc... La fonction SOMME.SI fait ça très bien Si tu tiens au vba ça ferait :
| Parcourir la colonne B
| si B.value contient "toto" alors
| sommetoto = sommetoto + C.value
| si B.value contient "tata" alors
| sommetata = sometata + C.value
Les boucles, d'une façon générale, moins il y en a et mieux c'est !
Inutile de parcourir la colonne B pour tester les contenus et ...etc...
La fonction SOMME.SI fait ça très bien
Si tu tiens au vba ça ferait :
| Parcourir la colonne B | si B.value contient "toto" alors | sommetoto = sommetoto + C.value | si B.value contient "tata" alors | sommetata = sometata + C.value
Les boucles, d'une façon générale, moins il y en a et mieux c'est ! Inutile de parcourir la colonne B pour tester les contenus et ...etc... La fonction SOMME.SI fait ça très bien Si tu tiens au vba ça ferait :
Sub sumIt() Dim sommetoto As Double Dim sommetata As Double Dim c As Range For Each c In Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp)) Select Case c.Value Case "toto" sommetoto = sommetoto.c.Offset(0, 1).Value Case "tata" sommetata = sommetata.c.Offset(0, 1).Value End Select Next c End Sub
Cordialement, -- AP
"astalavista" a écrit dans le message de news:444b8d53$0$9631$
Bonjour
Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B si B.value contient "toto" alors sommetoto = sommetoto + C.value si B.value contient "tata" alors sommetata = sometata + C.value ....
Pouvez-vous m'aider? Merci d'avance
Je suppose que tu travailles dans ActiveWorksheet
Sub sumIt()
Dim sommetoto As Double
Dim sommetata As Double
Dim c As Range
For Each c In Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp))
Select Case c.Value
Case "toto"
sommetoto = sommetoto.c.Offset(0, 1).Value
Case "tata"
sommetata = sommetata.c.Offset(0, 1).Value
End Select
Next c
End Sub
Cordialement,
--
AP
"astalavista" <nobody@nowhere.com> a écrit dans le message de
news:444b8d53$0$9631$636a55ce@news.free.fr...
Bonjour
Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B
si B.value contient "toto" alors
sommetoto = sommetoto + C.value
si B.value contient "tata" alors
sommetata = sometata + C.value
....
Sub sumIt() Dim sommetoto As Double Dim sommetata As Double Dim c As Range For Each c In Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp)) Select Case c.Value Case "toto" sommetoto = sommetoto.c.Offset(0, 1).Value Case "tata" sommetata = sommetata.c.Offset(0, 1).Value End Select Next c End Sub
Cordialement, -- AP
"astalavista" a écrit dans le message de news:444b8d53$0$9631$
Bonjour
Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B si B.value contient "toto" alors sommetoto = sommetoto + C.value si B.value contient "tata" alors sommetata = sometata + C.value ....
Pouvez-vous m'aider? Merci d'avance
astalavista
Les boucles, d'une façon générale, moins il y en a et mieux c'est ! Inutile de parcourir la colonne B pour tester les contenus et ...etc... La fonction SOMME.SI fait ça très bien Si tu tiens au vba ça ferait :
Merci, OK pour la fonction mais ça renvoie toujours 0 j'ai l'impression que ça vient du fait que le critère dont j'ai besoin est: contient "toto" c'est à dire xxxtotoxxx doît être comptabilisé est-ce possible ?
Les boucles, d'une façon générale, moins il y en a et mieux c'est !
Inutile de parcourir la colonne B pour tester les contenus et ...etc...
La fonction SOMME.SI fait ça très bien
Si tu tiens au vba ça ferait :
Merci, OK pour la fonction
mais ça renvoie toujours 0
j'ai l'impression que ça vient du fait que le
critère dont j'ai besoin est:
contient "toto"
c'est à dire xxxtotoxxx doît être comptabilisé
est-ce possible ?
Les boucles, d'une façon générale, moins il y en a et mieux c'est ! Inutile de parcourir la colonne B pour tester les contenus et ...etc... La fonction SOMME.SI fait ça très bien Si tu tiens au vba ça ferait :
Merci, OK pour la fonction mais ça renvoie toujours 0 j'ai l'impression que ça vient du fait que le critère dont j'ai besoin est: contient "toto" c'est à dire xxxtotoxxx doît être comptabilisé est-ce possible ?
astalavista
Sub sumIt() Dim sommetoto As Double Dim sommetata As Double Dim c As Range For Each c In Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp)) Select Case c.Value Case "toto" sommetoto = sommetoto.c.Offset(0, 1).Value Case "tata" sommetata = sommetata.c.Offset(0, 1).Value End Select Next c End Sub
OK merci mais j'ai l'impression que pour la chaine eacte "toto" , "tata"
j'aurais besoin que ça marche pour "xxtotoxx" ...
Sub sumIt()
Dim sommetoto As Double
Dim sommetata As Double
Dim c As Range
For Each c In Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp))
Select Case c.Value
Case "toto"
sommetoto = sommetoto.c.Offset(0, 1).Value
Case "tata"
sommetata = sommetata.c.Offset(0, 1).Value
End Select
Next c
End Sub
OK merci mais j'ai l'impression que pour la chaine eacte "toto" , "tata"
Sub sumIt() Dim sommetoto As Double Dim sommetata As Double Dim c As Range For Each c In Range(Cells(1, "B"), Cells(Rows.Count, "B").End(xlUp)) Select Case c.Value Case "toto" sommetoto = sommetoto.c.Offset(0, 1).Value Case "tata" sommetata = sommetata.c.Offset(0, 1).Value End Select Next c End Sub
OK merci mais j'ai l'impression que pour la chaine eacte "toto" , "tata"
j'aurais besoin que ça marche pour "xxtotoxx" ...
AV
| c'est à dire xxxtotoxxx doît être comptabilisé
Somme des cellules de "plageB" pour les cellules correspondantes de "plageA" contenant "toto" Avec des plages nommées :
"astalavista" a écrit dans le message de news: 444b8d53$0$9631$
Bonjour
Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B si B.value contient "toto" alors sommetoto = sommetoto + C.value si B.value contient "tata" alors sommetata = sometata + C.value ....
Pouvez-vous m'aider? Merci d'avance
Bonsoir astlavista
=SOMME.SI(C5:C10;"*toto*";B5:B10)
"astalavista" <nobody@nowhere.com> a écrit dans le message de news:
444b8d53$0$9631$636a55ce@news.free.fr...
Bonjour
Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B
si B.value contient "toto" alors
sommetoto = sommetoto + C.value
si B.value contient "tata" alors
sommetata = sometata + C.value
....
"astalavista" a écrit dans le message de news: 444b8d53$0$9631$
Bonjour
Je cherche à implémanter l'"algorithme" suivant, en VBA:
Parcourir la colonne B si B.value contient "toto" alors sommetoto = sommetoto + C.value si B.value contient "tata" alors sommetata = sometata + C.value ....