[Excel]Somme avec conditions

Fermé
Danoff - 19 déc. 2007 à 20:50
 ego - 21 déc. 2007 à 12:07
Bonjour,

Alors voici mon soucis j'ai deux colonnes A et B comme cela :

A B
1 0 1
2 1 1
3 0 1
4 1 1
5 1 1
6 1 1
7 0 1
8 0 1
9 1 1
10 1 1
11 1 1
12 0 0
| |
| |
| |



J'aimerais une formule capable de faire la somme des valeurs de B en fonctions des valeurs de A.

Voila déja une idée d'algorithme mais je pense qu'il y a plus simple que de passé par ce compteur et qu'il faudrai passer par autre chose si l'on veut éviter la macro

Si il y a un 0 en A , initialisation de mon compteur : Compteur:=1 et si il y a un 1 en A alors mon compteur s'incrémenterait =>Compteur:=Compteur+1
et tout cela jusqu'au prochain 0


Exemples :B1+B2=2
B3+B4+B5+B6=4
B7=1
B8+B9+B10+B11=4
B12=0



J'imagine qu'il faut faire obligatoirement une macro? je préèrais éviter cette solution mais bon ca me semble inévitable .. Merci de me donner un petit coup de pouce , j'ai programmé en Turbo pascal et j'ai du mal avec la syntaxe du VBA !


Merci beaucoup ! ;)
A voir également:

3 réponses

Désolé petit prob de mise en page , j'ai oublié la balise code ;)


             
                           A      B 
1                          0      1 
2                          1      1  
3                          0      1 
4                          1      1 
5                          1      1 
6                          1      1 
7                          0      1 
8                          0      1 
9                          1      1 
10                         1      1 
11                         1      1 
12                         0      0 
                           |      | 
                           |      |     
                           |      |
0
je ne sait pas si cela peut régler ton problème,
tu fait une colonne Cavec la condition (si a<1;c=0;c=b) et faire la somme de C par la site
0
pour ecrire en Colonne C
Sub Macro1()
'
Dim i As Integer, valA As Integer, sumB As Integer

i = 1

Do While Range("A" & i).Value <> ""
If Range("A" & i).Value = 0 Then
sumB = Range("B" & i).Value 'on initialise la valeur de la somme
i = i + 1
Do While Range("A" & i).Value = 1
sumB = sumB + Range("B" & i).Value
i = i + 1
Loop
Range("C" & i - 1).Value = sumB

Else

Range("C" & i - 1).Value = sumB
End If

Loop

End Sub
0