OVH Cloud OVH Cloud

Tri par minima dans VBA

2 réponses
Avatar
Jean-mi
Bonjour,
Quelqu'un peut-il trouver une solution =E0 mon=20
probl=E8me ?
Je souhaiterais faire un tri en me servant du tri par=20
minima. J'ai saisi et affich=E9 quatre nombres dans
un tableau. J'ai ensuite ajout=E9 le code suivant (Valnum=20
est le nom du tableau) :
i =3D 1
For i =3D 1 To 4
minimum =3D Application.WorksheetFunction.Min(Valnum)
Worksheets(1).Cells(2,i).Value =3D Valnum(i)
Worksheets(1).Cells(1,i).Clear
Worksheets(1).Cells(1,i).Value =3D Worksheets _
(1).Cells(1,i+1).Value
Worksheets(1).Cells(1,i+1).Clear
Worksheets(1).Cells(1,i+1).Value =3D Valnum(i)
Worksheets(1).Cells(2,i).Clear
i =3D i + 1
Next i
Je souhaiterais me servir de Min sur un tableau de 4=20
=E9l=E9ments, puis de 3, puis de 2, puis de 1, mais je ne
sais pas comment faire.

D'avance merci =E0 ceux ou celles qui me r=E9pondront.

Jean-michel

2 réponses

Avatar
AV
Je souhaiterais faire un tri en me servant du tri par
minima.


En interprétant la question (....bien ??) :
Un tableau (plage continue ou discontinue) de valeurs numériques nommé "Valnum"
situé qque part dans le classeur
Récupérer dans la plage A1:Ax de "Feuil1" chaque valeur de ce tableau de la +
petite à la + grande :

Sub zz_Récup_Tri()
For i = 1 To [counta(valnum)]
Sheets("Feuil1").Cells(i, 1) = Evaluate("SMALL(Valnum" & "," & i & ")")
Next
End Sub

Pour l'ordre inverse, changer SMALL par LARGE
AV

Avatar
isabelle
bonjour Jean-michel,

Sub Macro1()
Dim minimum(4, 4)
Set Valnum = Range("A1:A4")
For i = 0 To 3
minimum(i, y) = Application.WorksheetFunction.Min(Valnum)
Range("A" & Application.Match(minimum(i, y), Valnum, 0)).Clear
Next i
Sheets("Feuil1").Range("A1:A4") = minimum
End Sub

isabelle


Bonjour,
Quelqu'un peut-il trouver une solution à mon
problème ?
Je souhaiterais faire un tri en me servant du tri par
minima. J'ai saisi et affiché quatre nombres dans
un tableau. J'ai ensuite ajouté le code suivant (Valnum
est le nom du tableau) :
i = 1
For i = 1 To 4
minimum = Application.WorksheetFunction.Min(Valnum)
Worksheets(1).Cells(2,i).Value = Valnum(i)
Worksheets(1).Cells(1,i).Clear
Worksheets(1).Cells(1,i).Value = Worksheets _
(1).Cells(1,i+1).Value
Worksheets(1).Cells(1,i+1).Clear
Worksheets(1).Cells(1,i+1).Value = Valnum(i)
Worksheets(1).Cells(2,i).Clear
i = i + 1
Next i
Je souhaiterais me servir de Min sur un tableau de 4
éléments, puis de 3, puis de 2, puis de 1, mais je ne
sais pas comment faire.

D'avance merci à ceux ou celles qui me répondront.

Jean-michel