fonction plus longue période avec for each et do while

jopont

XLDnaute Impliqué
Bonjour,

Dans le code ci-dessous, vous trouverez un exemple de fonction "période"
Je cherche à compter la plus longue période sur deux mois qui comporte les motifs "RF" ou vide.
La fonction me renvoie 12 dans l'exemple alors qu'elle devrait renvoyer 10.
La fonction me renvoie toujours 2 de plus par rapport à la réalité
Code:
Function periode(Optional lig As Long = 2)
Application.Volatile 'selon le besoin…

Dim c As Range, t As Integer, Cpte As Integer
Dim Cell As Range
Dim Ws As Worksheet
If lig = 0 Then lig = 4
For Each Ws In Sheets(Array("janvier", "février"))
    For Each Cell In Ws.Range("C" & lig)
  Set c = Range("C" & lig)
  Do While IsDate(Cells(1, c.Column))
    If c = "RF" Or c = "" Then
    Cpte = Cpte + 1
    
    Else
      'If periode < Cpte Then periode = Cpte
      Cpte = 0
    End If
      If periode < Cpte Then periode = Cpte
    Set c = c(1, 3)
  Loop
Next Cell
Next Ws
End Function
merci pour votre aide
 

Discussions similaires

Réponses
21
Affichages
314
Réponses
1
Affichages
176

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia