Trouver (en VB) le plus grand nombre parmis une liste

boursicotteur Messages postés 201 Date d'inscription mercredi 25 septembre 2002 Statut Membre Dernière intervention 10 novembre 2007 - 27 juil. 2003 à 16:33
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 - 27 juil. 2003 à 18:11
Quelqu'un connaît-il une fonction VB, une API ou encore un truc VRAIMENT TRÈS RAPIDE pour trouver le plus grand nombre dans une liste de nombres?

ATTENTION:
Je ne veux pas entrer les nombres 1 par 1 dans un contrôle ni les comparer 1 à la fois mais trouver le plus grand nombre en une seule étape dans le style de la fonction Max(val1, val2, val3, val4,...) dans excel.

J'ai cherché dans VB (rien trouvé), dans les API (rien trouvé) et j'ai aussi cherché des trucs comme SORT d'un Array mais ce truc n'est pas faisable en VB... à ma connaissance.

Il doit certainement y avoir un moyen mais je ne vois plus où chercher.

AU SECOUR !
A voir également:

2 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
27 juil. 2003 à 16:44
pourquoi en une ligne ??? tu penses que çca sera plus rapide qu'en plusieurs ligne ???

pense que l'idéal çca serais de te faire une fonction qui le fait

comme ça tu as une function qui en une ligne appel MaxVal avec un tableau de longeur variable sans aucun problème

public function MaxVal(tableau() as integer) as integer
dim i as integer
MaxVal = tableau(LBound(tableau))
for i = LBound(tableau) + 1 to UBound(tableau)
if MaxVal < tableau(i) then
MaxVal = tableau(i)
end if
next i
end function
0
pcpunch Messages postés 1243 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 18 février 2019 5
27 juil. 2003 à 18:11
autre possibilité : utilise un trie a bulle

Private Sub Form_Load()
Dim tableau(1 To 5)
tableau(1) = 2
tableau(2) = 235
tableau(3) = 33
tableau(4) = 234
tableau(5) = 11

' TRI A BULLE du tableau dans l ordre croissant
For j = 1 To UBound(tableau)
DoEvents
BOL = False
For i = 1 To (UBound(tableau) - j)
If tableau(i) > tableau(i + 1) Then
BOL = True
Temp = tableau(i)
tableau(i) = tableau(i + 1)
tableau(i + 1) = Temp
End If
Next
If Not BOL Then j = UBound(tableau)
Next
MsgBox "le nombre le plus grand est : " & tableau(UBound(tableau))

End Sub
0
Rejoignez-nous