[VB] Récupérer valeur max de 3 variables - Résolu

Bonjour,

Je cherche à récupérer la valeur max entre 3 variables.

Je pensais passer par un tableau (array), mais je vois pas comment y arriver :

  • il n’y a pas de méthode “max” associé aux array.
  • la méthode "sort" ne porte pas sur les arrays.

Si quelqu’un avait une piste à me proposer …

Merci.

grant_lee


Private Function findmax(ByVal x As Long, ByVal y As Long, ByVal z As Long) As Long
Dim retval As Long

    If retval < x Then
        retval = x
    End If
    If retval < y Then
        retval = y
    End If
    If retval < z Then
        retval = z
    End If
    
    findmax = retval

End Function


Private Sub Form_Load()
Dim x As Long, y As Long, z As Long

    x = 1
    y = 2
    z = 3
    Debug.Print findmax(x, y, z)
    
    x = 1
    y = 3
    z = 2
    Debug.Print findmax(x, y, z)
    
    x = 2
    y = 1
    z = 3
    Debug.Print findmax(x, y, z)
    
    x = 2
    y = 3
    z = 1
    Debug.Print findmax(x, y, z)
    
    x = 3
    y = 2
    z = 1
    Debug.Print findmax(x, y, z)
    
    x = 3
    y = 1
    z = 2
    Debug.Print findmax(x, y, z)
End Sub

Je te remercie.

J’ai pu arranger à ma sauce, et ça fonctionne parfaitement.

grant_lee