J'aimerais trouver la ligne de la valeur minimum à l'intérieur d'un range
connu..
Tant que les valeurs sont clairement délimitées, la fonction suivante
fonctionne bien :
Function value_line(valeur As Variant, colo As Integer, startline As Long,
endline As Long) As Long
sub cherche_ligne
x = Application.WorksheetFunction.Min(Range("E10::E50")
minline = value_line(x, 5, 10, 50)
end sub
Mais dès que ces nombres deviennent plus complexes, un
message d'erreur apparaît du fait que le nombre calculé
par la WorksheetFunction.Min(Range...) ne correspond pas
exactement à la valeur telle qu'elle est inscrite dans la
cellule, par exp. 1.2340043 (calculé) correspond à 1.234
dans la cellule. Comme le nombre des chiffres après la virgule
est irrégulier, la fonction "Round" devient inaaplicable,
une réctification du nombre calculé par le code suivant échoue
également:
functin trunc_complex
Dim va As String
Dim x As Integer
va = Str(valeur)
x = 1
While Right(Left(va, x), 1) <> "."
x = x + 1
Wend
va = Left(va, x + 3)
valeur = Val(va)
trunc_complex=valeur
end function
Quelle méthode faut-il donc employer pour trouver la ligne
d'une valeur complexe ?
Function vba : Function Ligne_Min(plg) Ligne_Min = Evaluate("Max((" & [plg].Address & "= Min(" & [plg].Address & "))*Row(" & [plg].Address & "))") End Function
AV
JeNeVois
Merci, en effet, cela fonctionne, même si l'emploi du "*" à l'intérieur de la formule reste encore énigmatique pour moi. En tout cas, ça fait toujours plaisir de découvrir une fonction dont on a ignoré jusqu'ici l'utilité ("evaluate").
Salutations
J'aimerais trouver la ligne de la valeur minimum à l'intérieur d'un range connu..
Function vba : Function Ligne_Min(plg) Ligne_Min = Evaluate("Max((" & [plg].Address & "= Min(" & [plg].Address & "))*Row(" & [plg].Address & "))") End Function
AV
Merci, en effet, cela fonctionne, même si l'emploi du "*" à
l'intérieur de la formule reste encore énigmatique pour moi.
En tout cas, ça fait toujours plaisir de découvrir une fonction
dont on a ignoré jusqu'ici l'utilité ("evaluate").
Salutations
J'aimerais trouver la ligne de la valeur minimum à l'intérieur d'un range
connu..
Merci, en effet, cela fonctionne, même si l'emploi du "*" à l'intérieur de la formule reste encore énigmatique pour moi. En tout cas, ça fait toujours plaisir de découvrir une fonction dont on a ignoré jusqu'ici l'utilité ("evaluate").
Salutations
J'aimerais trouver la ligne de la valeur minimum à l'intérieur d'un range connu..