2e plus petite variable

julien051

XLDnaute Nouveau
Bonjour a tous,

Voilà mon souci, j'ai 5 variables déclaré en as double (valeur décimale) qui sont CC1,CC2,CC3,CC4,CC5.
Leur valeurs sont variables en fonction de optionbutton coché au préalable.

Ma question est la suivante, comment peut on simplement déterminer la plus petite valeur et la deuxieme plus petite valeur? Comme le ferai la fonction petite valeur.

PS je ne veux pas passé par une feuille excel en mettant les valeur dans les cellule, car c'était les cas avant mais j'essais de mettre tout mon fichier le plus possible en VBA.

Par avance merci de vos réponse.
 

mromain

XLDnaute Barbatruc
Re : 2e plus petite variable

Bonjour julien051 et bienvenue sur le forum,
Bonjour le forum :)

Voici un essai en passant l'ensemble des valeurs dans un tableau pour ensuite pouvoir trier les données :
VB:
Public Sub Test()
Dim tabDbl(1 To 5) As Double, i As Long, j As Long, tmpDbl As Double
    
    'mettre les valeurs dans un tableau
     tabDbl(1) = 12.5
    tabDbl(2) = 7.3
    tabDbl(3) = 8.9
    tabDbl(4) = 15.2
    tabDbl(5) = 3.7
    
    'trier les valeurs en ordre croissant
     For i = LBound(tabDbl) To UBound(tabDbl) - 1
        For j = i + 1 To UBound(tabDbl)
            If tabDbl(j) < tabDbl(i) Then
                tmpDbl = tabDbl(j)
                tabDbl(j) = tabDbl(i)
                tabDbl(i) = tmpDbl
            End If
        Next j
    Next i
    
    'afficher la deuxième plus petite valeur
     MsgBox tabDbl(2)
End Sub

A+
 

Hervé

XLDnaute Barbatruc
Re : 2e plus petite variable

salut :)

une autre solution possible :

Code:
tabDbl(1) = 12.5
    tabDbl(2) = 7.3
    tabDbl(3) = 8.9
    tabDbl(4) = 15.2
    tabDbl(5) = 3.7
    
With Application.WorksheetFunction
    MsgBox .Small(tabDbl, 2) 'petite valeur
    MsgBox .Min(tabDbl) 'min
End With

a plus
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise