Comment forcer 2 décimales pour le résultat d'une variable ?

Bonjour tout le monde,

Vous pourrez peut-être éclairer ma lanterne...

J'ai une Feuille de calcul avec une colonne remplie de nombres (nombres qui sont le résultat de formules entrées dans cette dite colonne). Je souhaite chercher le 6ème plus grand nombre dans cette colonne, puis ensuite trouver l'adresse de la cellule qui contient ce 6ème plus grand nombre.

Je passe tout d'abord par la fonction "large", et ensuite j'incorpore le résultat dans une fonction "find". Le problème c'est que la colonne qui contient ma série de nombres dans ma feuille excel est formatée pour que les nombres affiche tout le temps 2 décimales. Le problème c'est que le 6ème plus grand nombre que me retourne la fonction "large" est : 724.5 alors que dans ma feuille de calcul le nombre affiché est : 724.50. Donc quand ensuite je fais ma recherche avec "find" pour obtenir l'adresse de la cellule, la fonction "find" ne trouve rien.

Je tourne en rond depuis un petit moment déjà, et je n'arrive pas à transformer le résultat de ma fonction "large" (724.5) en 724.50. J'ai fait des tentatives avec les fonctions "round", "format", "cstr", ... mais je n'arrive pas à mes fins... Quelqu'un a une idée ? Merci !

Mon code :

Sub Try501()

Dim Cell As Range

Dim VAR1 As Double

Workbooks("Schedule.xlsm").Activate

Worksheets(1).Activate

VAR1 = Application.Large(Range(Cells(382, 37), Cells(382, 37).End(xlDown)), 6),

MsgBox VAR1

Set Cell = Range(Cells(382, 37), Cells(382, 37).End(xlDown)).Find(what:=VAR1, _

after:=Cells(382, 37), lookat:=xlWhole, LookIn:=xlValues, searchorder:=xlByRows, _

searchdirection:=xlNext, MatchCase:=False)

MsgBox prompt:=Cell.Address

End Sub

9schedule-xlsm.xlsx (12.86 Ko)

Bonjour,

à tester,

MsgBox Format(VAR1, "0.00")

Bonjour,

En fait je voulais formater le nombre, avec deux décimales après la virgule, directement dans ma variable VAR1 que j'utilise pour récolter le résultat de ma fonction "Large", et ensuite utiliser cette variable dans ma fonction Find :

>> VAR1 = format(Application.Large(Range(Cells(382, 36), Cells(382, 36).End(xlDown)), 2), "0.00")

... mais ça ne fonctionne pas.

Je viens de résoudre mon problème en formatant ma variable directement dans la fonction Find :

>> Set Cell = Range(Cells(382, 36), Cells(382, 36).End(xlDown)).Find(what:=Format(VAR1, "0.00"), _

after:=Cells(382, 36), lookat:=xlWhole, LookIn:=xlValues, searchorder:=xlByRows, _

searchdirection:=xlNext, MatchCase:=False)

Merci quand même

Rechercher des sujets similaires à "comment forcer decimales resultat variable"