Afficher le min de chaque ligne d'un tableau

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

awa123

XLDnaute Occasionnel
Bonjour,

je cherche comment peut-on trouver le minimum de chaque ligne dans un tableau à 2 dimensions

par exemple avec le code suivant:

Code:
    Sub test()
 
 
    Dim tableau(2, 2) As Variant
 
 
        tableau(0, 1) = 1
        tableau(0, 2) = 2
        tableau(1, 1) = 1
        tableau(1, 2) = 3
        tableau(2, 1) = 1
        tableau(2, 2) = 4
 
    For i = 0 To UBound(tableau,1)
         For j = 1 To UBound(tableau,2)
 
            Min tableau(i, j) ' c'est là que je ne sais pas la syntaxe pour lui demander le min
           MsgBox (tableau(i, j))
 
        Next j
    Next i
 
    End Sub

Je voudrais qu'il m'afficher le min sur la première ligne de mon tableau (qui est égale à 1 ) puis sur ma 2eme ligne (qui est égale à 1 également ) et enfin sur ma dernière ligne (qui est égale à 1 aussi) mais ma syntaxe n'est pas bonne...

merci
 
Re : Afficher le min de chaque ligne d'un tableau

Bonsoir,
pas sûr d'avoir compris ta demande :
Code:
Sub test()
Dim tableau(2, 2) As Variant
tableau(0, 1) = 1
tableau(0, 2) = 2
tableau(1, 1) = 1
tableau(1, 2) = 3
tableau(2, 1) = 1
tableau(2, 2) = 4
MsgBox Application.WorksheetFunction.Min(tableau)
End Sub
A+
 
Re : Afficher le min de chaque ligne d'un tableau

Bonsoir à tous.


Peut-être ?​
Code:
Sub test()
Dim tableau(2, 2) As Variant, i%, j%, m As Double
  tableau(0, 1) = 1
  tableau(0, 2) = 2
  tableau(1, 1) = 1
  tableau(1, 2) = 3
  tableau(2, 1) = 1
  tableau(2, 2) = 4
  For i = 0 To UBound(tableau)
    m = 1.79769313486231E+308
    For j = 1 To UBound(tableau, 2)
      If tableau(i, j) < m Then m = tableau(i, j)
    Next
    MsgBox "Minimum(ligne " & i & ") = " & m
  Next
End Sub

À awa123 : merci de bien vouloir suivre votre discussion


ℝOGER2327
#7076


Vendredi 20 Sable 141 (Saint Sabre, allopathe - fête Suprême Quarte)
30 Frimaire An CCXXII, 9,1840h - pelle
2013-W51-5T22:02:30Z
 
Re : Afficher le min de chaque ligne d'un tableau

Bonsoir awa123,

Un autre exemple ?:
VB:
Sub test()
Dim tableau, mini(), i&, j&

'lecture du tableau en A4
tableau = Range("A4").CurrentRegion.Value
'on dimensionne le tableau résultat: mini qui contiendra
' dans chaque ligne i le minimum de la ligne i de tableau
ReDim mini(LBound(tableau, 1) To UBound(tableau, 1))

'boucle sur chaque ligne i de tableau
For i = LBound(tableau, 1) To UBound(tableau, 1)
  'pour la ligne i, on initialise le minimum avec la première valeur de la ligne i
  mini(i) = tableau(i, LBound(tableau, 2))
  For j = LBound(tableau, 2) + 1 To UBound(tableau, 2)
    ' pour chaque colonne de la ligne (excepté la première qu'on a déjà placé
    ' dans le tableau mini), on compare la valeur à l'actuel minimum.
    ' Si la valeur est inférieure, on procède au remplacement de l'actuel
    ' minimum par la nouvelle valeur plus petite.
    If tableau(i, j) < mini(i) Then mini(i) = tableau(i, j)
  Next j
Next i
    
'on transfert le tableau des mini sur la feuille de calcul
Range("A4").Offset(-1, UBound(tableau, 2) + 1) = "Mini"
Range("A4").Offset(, UBound(tableau, 2) + 1).Resize(UBound(tableau, 1)) = _
      Application.Transpose(mini)

End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
788
Réponses
5
Affichages
914
Réponses
8
Affichages
390
Retour