Bonjour à tous,
J'utile un code VBA pour trouver une valeur max si telle que ci-dessous,
Au bout de 25 000 enregistrement, je reçois une erreur de type 13
Le debogage m'indique la ligne calcMax = Evaluate ...
L'équivalent en formule est : INDEX($R$1:R2;SUMPRODUCT(MAX((ROW($O$1:O2))*($O$1:O2=O3)))
Pouvez-vous m'aider svp ?
Grand merci !
Public Function calcMax(i As Long) As Double
Dim rngVal As String
Dim rngName As String
Dim xMax As Double
Dim xFind As Long
'Set range from which to determine largest value
rngVal = Range("R2:R" + CStr(i - 1)).Address
rngName = Range("O1:O" + CStr(i - 1)).Address
xFind = Range("O" + CStr(i))
'Worksheet function MAX returns the largest value in a range
calcMax = Evaluate("MAX(IF(" & rngName & "=" & xFind & "," & rngVal & "))")
End Function