Salut zehirman, VH_AE,
pas compris cela ainsi...
Bon, pour cette première version, je postule que je vis chez les Bisounours et que tes données comportent des "Zéros" partout comme dans ton fichier-exemple, c-à-d, au début, pendant et après puisque j'en fais mes repères de calcul!
'
Dim rCel As Range
'
iRow = Range("C" & Rows.Count).End(xlUp).Row
If Cells(iRow, 3) <> 0 Then
iRow = iRow + 1
Cells(iRow, 3) = 0
End If
Range("D4:E4").Value = 0
iLig = 3
Do
Set rCel = Range("C" & iLig & ":C" & iRow).Find(what:=0, lookat:=xlWhole, searchdirection:=xlNext)
If Not rCel Is Nothing Then
If rCel.Offset(1, 0) <> "" Then Cells(4, IIf(rCel.Offset(1, 0) > 0, 4, 5)) = Cells(4, IIf(rCel.Offset(1, 0) > 0, 4, 5)) + 1
iLig = rCel.Row + 1
End If
Loop Until iLig > iRow
'
La macro peut démarrer via le petit bouton ou via un changement dans [C:C].
A tester mais s'il n'y a pas de zéro en fin de colonne, apprête-toi à jouer du CTRL-ALT-DELETE...
PS: EDIT :
Tant qu'à faire, je mets une sécurité : un zéro en fin de colonne si inexistant!
A+