[Excel]Somme avec conditions

Danoff -  
 ego -
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 ! ;)
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. Danoff
     
    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
  2. gath1
     
    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
  3. ego
     
    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