Compter durée d'une séquence avec VBA

poiuytreza

XLDnaute Nouveau
Bonjour,

J'ai une colonne dans ma base de donnée Excel avec que des 0 et de 1. Elle se présente comme suit:
0
0
0
1
1
1
1
1
0
0
0
...
(32000 lignes)

Je n'arrive pas à écrire le code qui me permettrait de compter le temps que dure chaque séquence par exemple içi durée de la première séquence avec que des 0 -> 3.
durée de la séquence avec que des 1 -> 4 ...
C'est à dire que l'on compte le nombre de 0 avant l'apparition d'un 1. Puis ensuite on compte le nombre de 1 avant l'apparition d'un zéro. Afin d'avoir la "durée" de chaque séquence.

Si quelqu'un peut m'aider ce serait vraiment sympa parce que là je suis coincée...
 

Lolote83

XLDnaute Barbatruc
Salut POIUYTREZA,
En imaginant comme dans le fichier joint que tes sequences commencent en B5 et soient comme dans l'exemple, on pourrait avoir ceci
En espérant avoir bien compris la consigne
@+ Lolote83
 

Pièces jointes

  • Copie de POIUYTREZA - Sequence.xlsm
    14.5 KB · Affichages: 6

Lolote83

XLDnaute Barbatruc
Re bonjour,
Bien vu Job75,
Je reste encore stupéfaits par tes prouesses et tes vérifications .....
Pas compris pourquoi le résultat d'une séquence de 5 fois 1 doit donner 4.
Effectivement une erreur de compteur dans mon code
VB:
Sub Sequence()
    xPrem = [B5]
    xCpt = 0
    For Each xCell In Range("B5:B15")
        If xCell.Value = xPrem Then
            xCpt = xCpt + 1
        Else
            Range("C" & xCell.Row - 1) = xCpt
            xPrem = xCell.Value
            xCpt = 1
        End If
    Next xCell
End Sub
Il faut donc remplacer dans le code original xCpt=0 par xCpt=1 comme le montre le code ci-dessus sur la partie basse.
Honnêtement, j'imaginais bien une formule, mais le VB est venu rapidement.
@+ Lolote83
 

Discussions similaires

Réponses
4
Affichages
446

Statistiques des forums

Discussions
311 721
Messages
2 081 927
Membres
101 842
dernier inscrit
seb0390