Pour l'instant, j'ai écrit ca :
Function GetElem(table As Range, Optional ByVal elem As Integer = 1)
Dim cel As Range
Dim min As Variant
For Each cel In table.Cells
If cel.Value < min Or IsEmpty(min) Then
min = cel.Value
End If
Next cel
GetElem = min
End Function
Ca renvoi le plus petit élément.
Pour obtenir le second plus petit, il suffirait que j'exclue cette cellule de la liste, et que je recommence. (et si je sais faire ca, je pourrais améliorer tout seul en faisant un joli quickSelect)
Mais :
-> déjà, ca bug joyeusement : là, ca me sort c par exemple (ca bug à cause de la cellule vide)
-> et je suis vraiment un incapable avec VBA, je n'arrive pas du tout à utiliser des listes dynamiques, ou quoi que ce soit d'autre.. Du coup, là, je suis bloqué à renvoyer le minimum.
A noter que j'ai excel 2019, (du coup, j'ai pas accès à la fonction sort) et je ne veux pas que le vba nécessite des configurations spécifiques (autre que le code vba présent dans le fichier) pour fonctionner : mes fichiers sont partagés.
Merci pour votre aide !
(et oui, je sais le faire sans VBA, mais là, il faut que je me crée des fonctions spécifiques pour gagner du temps)