Considérer que le premier min de la ligne

Bonjour,

Le petit code ci-dessous me donne la valeur minimale de chaque ligne en me précisant à chaque fois sur quelle colonne elle se trouve.

j'aimerais désormais ne considérer que la première valeur minimale sur la ligne i, par exemple si dans mon tableau nous avons 2 fois la valeur 1 sur la ligne i , je voudrais qu'il me dise que la valeur min se trouve sur la colonne 1, et ne tiens plus compte de la colonne 2.

 Sub test()

Dim tableau(2, 2) As Variant, i%, j%, m As Double

tableau(0, 1) = 1
tableau(0, 2) = 1
tableau(1, 1) = 3
tableau(1, 2) = 2
tableau(2, 1) = 7
tableau(2, 2) = 4

For i = 0 To UBound(tableau, 1)
m = 100

    For j = 1 To UBound(tableau, 2)

          If tableau(i, j) < m Then

          m = tableau(i, j)
          End If

    Next j

' on a récupérer le min tableau

       For k = 1 To UBound(tableau, 2)

         If m = tableau(i, k) Then

            'afficher le n° de sa colonne et si il y a d'autre valeur min sur la même ligne alors il passe à la ligne d'aprés (next i)

            MsgBox "Minimum(colonne " & k & ") = " & m

         End If

       Next k

Next i

End Sub

merci!

Bonjour,

Si j'ai bien compris, modifié ton code comme ceci:

If m = tableau(i, k) And tableau(i, k) <> tableau(i, k - 1)

A+

rebonjour,

une autre manière

 Sub test()

Dim tableau(2, 2) As Variant, i%, j%, m As Double

tableau(0, 1) = 1
tableau(0, 2) = 1
tableau(1, 1) = 3
tableau(1, 2) = 2
tableau(2, 1) = 7
tableau(2, 2) = 4

For i = 0 To UBound(tableau, 1)
m = 100

    For j = 1 To UBound(tableau, 2)

          If tableau(i, j) < m Then

          m = tableau(i, j)
          mj=j
          End If

    Next j

     MsgBox "Minimum(colonne " & mj & ") = " & m

Next i

End Sub

gestionnaire_rh a écrit :

Bonjour,

Si j'ai bien compris, modifié ton code comme ceci:

If m = tableau(i, k) And tableau(i, k) <> tableau(i, k - 1)

A+

ceci fonctionne si les valeurs minimales sont consécutives comme dans l'exemple donné

tableau(0, 1) = 1

tableau(0, 2) = 1

mais ne fonctionnera plus si les valeurs minimales ne sont pas consécutives

tableau(0, 1) = 1

Tableau(0,2) = 4

tableau(0, 3) = 1

Rechercher des sujets similaires à "considerer que premier min ligne"