Bonjour à tous !

J'ai réaliser une macro où j'ai stocké l'ensemble de mes données sous forme de variables Tableaux (des matrices mathématiques)

Je voudrais savoir s'il est possible d'obtenir le minimum des valeurs d'une ligne ou d'une colonne d'un de ces matrices autrement que par des boucles.

Exemple : si le contenu de la matrice test est
1 4 6
2 5 1
1 2 4

je veux minimum ( matricetest(1 to 3,3)) = 1 (valeur), 2(ligne), 3(colonne)
soit que le code renvoie la valeur, la ligne et la colonne dans lesquelles se situe le résultat. si je lui demande le minimum de la colonne 3

et si il y a plusieurs valeurs en minimum, il me renvoie la première valeur et ses coordonnées.
Exemple : minimum (matrice(1 to 3,1)) = 1 (valeur), 1(ligne), 1(colonne)

Est-ce possible ???

Voici ce que j'ai trouvé tout seul dans mon coin -
mais je dois entrer pas mal de paramètres. (je n'ai pas utiliser les fonctions Ubound ou Lbound, donc j'entre la valeur du max de lignes dans mRows), la colonne à calculer dans mCOl et le tableau avec mArray.

Et chose la moins "honnête",
je précise d'entrée la valeur maximale que pourrait prendre les valeurs (ici 100).

Il y aurait-il voie d'amélioration ???

J'ai une fonction qui utilise des boucles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
---------------
'Fonction de calcul du rang du minimum
Function RangDuMinimum(mRows As Long, mCol As Long, ByRef mArray) As Long
Dim ValMinTemp As Double
ValMinTemp = 100 ' NbreMax de dossiers
    For i = 1 To mRows
        Select Case i
                Case 1 To (mRows - 1)
                            If mArray(i, mCol) <= mArray(i + 1, mCol) And mArray(i, mCol) <= ValMinTemp Then
                            RangDuMinimum = i
                            ValMinTemp = mArray(i, mCol)
                            Else
                            End If
                Case mRows
                            If mArray(i, mCol) <= ValMinTemp Then
                            RangDuMinimum = mRows
                            Else
                            End If
        End Select
    Next i
End Function
------------------
Merci beaucoup de m'aider car je commence à travailler avec ce type de variable et effectivement c'est bien plus rapide et élégant (intellectuellement).

PS j'ai lu le tutoriel http://silkyroad.developpez.com/vba/tableaux/#LVI