1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| Option Explicit
Public Function ChainesConsecutives(ByVal Plage As Range, _
ByVal Valeur As String, _
Optional ByVal Index As Integer = 0)
Dim c As Range
Dim res As String
Dim resT() As String
Dim iCount As Integer
iCount = 0
For Each c In Plage.Cells
If c = Valeur Then
iCount = iCount + 1
ElseIf iCount <> 0 Then
res = res & ";" & iCount
iCount = 0
End If
Next c
If iCount <> 0 Then
res = res & ";" & iCount
iCount = 0
End If
res = Mid(res, 2)
resT = Split(res, ";")
Select Case Index
Case -1
ChainesConsecutives = res
Case 0
ChainesConsecutives = UBound(resT) + 1
Case Else
ChainesConsecutives = CInt(resT(Index))
End Select
Set c = Nothing
End Function |
Partager