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

  • Initiateur de la discussion Initiateur de la discussion jopont
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
480
Réponses
5
Affichages
248
Réponses
4
Affichages
213
Retour