Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…