Fonction Minimum et manière de la programmer
Bonjour à tous,
Existe-t-il en VBA une fonction donnant le minimum d'une série de valeurs, du genre Min(1,2,3) ? Je n'ai pas réussi à en trouver dans l'aide...
D'autre part, comme je n'en trouvais pas, j'ai essayé de m'en fabriquer une, mais elle ne marche pas. Voilà ce que j'ai fait (je n'ai pas besoin de comparer plus de 4 valeurs) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| Public Function Min(ByVal Val1 As Single, ByVal Val2 As Single, Optional ByVal Val3 As Single, Optional ByVal Val4 As Single) As Variant
'Renvoie le minimum de Val1, Val2, Val3 et Val4
Dim Result As Single
Result = Val1
If Val2 < Result Then Result = Val2
If Val3 <> Null And Val3 < Result Then Result = Val3
If Val4 <> Null And Val4 < Result Then Result = Val4
Min = Result
End Function |
Pour Min(3,2,1), elle me renvoie 2. Je subodore donc que c'est ma syntaxe pour lui dire "S'il y a quelque chose dans Val3" qui est fausse, mais je n'ai pas trouvé la bonne (j'ai essayé avec <> Nothing et Not Val3.IsNull également). Quelqu'un connaîtrait-il la bonne manière d'écrire ça ?
Merci d'avance !