lebarbo
XLDnaute Occasionnel
Bonjour le forum, bonjour à tous,
Je souhaiterais localiser une ligne en fonction d'une fonction dans un tableau en Redim, pour être plus clair, j'ai une série qui s'appelle Fonds et dans cette série je souhaite trouver la variation minimum entre deux périodes, j'effectue donc la fonction suivante :
Function Plusbas(Fonds As Range) As Variant
Dim TabResult As Variant
Dim L As Integer
ReDim TabResult(1 To Fonds.Count - 1)
For L = 2 To Fonds.Count
TabResult(L - 1) = (Fonds(L).Value / Fonds(L - 1).Value) - 1
Next L
Plusbas = Application.Min(TabResult)
End Function
Mais j'aimerais localiser la ligne de la cellule qui me donne ce plus bas et là je me casse les dents
La seule solution que j'ai trouvé pour renvoyer la variable est celle là mais cela ne me satisfait guère lol :
Function LocalisationPlusbas(Fonds As Range) As Variant
Dim Plusbas As Variant
LocalisationPlusbas = 0
Plusbas = 0
For L = 2 To Fonds.Count
If (Fonds(L).Value / Fonds(L - 1).Value) - 1 < Plusbas Then
LocalisationPlusbas = L
Plusbas = (Fonds(L).Value / Fonds(L - 1).Value) - 1
End If
Next L
End Function
Existe t-il un code VBA pouvant appliquer à la fonction Application.min un adressage et qui correspondrait à :
Function LocalisationPlusbas(Fonds As Range) As Variant
Dim TabResult As Variant
Dim L As Integer
ReDim TabResult(1 To Fonds.Count - 1)
For L = 2 To Fonds.Count
TabResult(L - 1) = (Fonds(L).Value / Fonds(L - 1).Value) - 1
Next L
LocalisationPlusbas = Application.Min(TabResult). "adresse de la ligne "
End Function
Je vous ai fait un joli fichier pour que ce soit plus explicite.
Merci d'avance
Je souhaiterais localiser une ligne en fonction d'une fonction dans un tableau en Redim, pour être plus clair, j'ai une série qui s'appelle Fonds et dans cette série je souhaite trouver la variation minimum entre deux périodes, j'effectue donc la fonction suivante :
Function Plusbas(Fonds As Range) As Variant
Dim TabResult As Variant
Dim L As Integer
ReDim TabResult(1 To Fonds.Count - 1)
For L = 2 To Fonds.Count
TabResult(L - 1) = (Fonds(L).Value / Fonds(L - 1).Value) - 1
Next L
Plusbas = Application.Min(TabResult)
End Function
Mais j'aimerais localiser la ligne de la cellule qui me donne ce plus bas et là je me casse les dents
La seule solution que j'ai trouvé pour renvoyer la variable est celle là mais cela ne me satisfait guère lol :
Function LocalisationPlusbas(Fonds As Range) As Variant
Dim Plusbas As Variant
LocalisationPlusbas = 0
Plusbas = 0
For L = 2 To Fonds.Count
If (Fonds(L).Value / Fonds(L - 1).Value) - 1 < Plusbas Then
LocalisationPlusbas = L
Plusbas = (Fonds(L).Value / Fonds(L - 1).Value) - 1
End If
Next L
End Function
Existe t-il un code VBA pouvant appliquer à la fonction Application.min un adressage et qui correspondrait à :
Function LocalisationPlusbas(Fonds As Range) As Variant
Dim TabResult As Variant
Dim L As Integer
ReDim TabResult(1 To Fonds.Count - 1)
For L = 2 To Fonds.Count
TabResult(L - 1) = (Fonds(L).Value / Fonds(L - 1).Value) - 1
Next L
LocalisationPlusbas = Application.Min(TabResult). "adresse de la ligne "
End Function
Je vous ai fait un joli fichier pour que ce soit plus explicite.
Merci d'avance