Bonjour,

Étant débutant en VBA et moyenne en logique de programmation je sollicite de l'aide.

J'ai actuellement un fichier excel dont une colonne contient x date avec potentiellement y fois la même. La colonne est triée par date croissante et je recherche le y max.
j'ai donc codé la fonction suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sub test()
 
Dim recherche() As String, i As Long, y As Long, a As Long, x As Long, b As Long
i = 1
y = 1
b = 0
 
For x = 1 To 25000
    b = x + 1
    If Range("J" & x) = Range("J" & b) Then
        i = i + 1
        recherche(y) = i
        y = y + 1
        ReDim recherche(y)
    Else
        i = 1
    End If
Next x
 
 
 
Dim z As Long, e As Long
e = UBound(recherche)
 
 
If e > 1 Then
    For z = 1 To e
        If recherche(z) > recherche(z - 1) Then
            a = recherche(z)
        End If
    Next z
Else
    a = recherche(e)
End If
 
Range("r" & 5) = a
 
End Sub

Le problème est qu'il m'affiche "erreur d’exécution 9 : l'indice n'appartient pas à la sélection"
et même avec les forum et l’outil de débogage je ne trouve pas

voila si quelqu'un vois l'erreur dans le script je suis preneur

cordialement