Asp - fonction de tri d'un tableau en asp

Contenu du snippet

Cette fonction permet de renvoyer un nouveau tableau trié à partir d'un tableau transmis en paramêtre.
Il suffit de déclarer un tableau et de lui donner sa taille et de lancer la fonction sur le tableau non trié et la colonne à prendre en compte dans le tri.

Source / Exemple :


'-----------------------------------------------------------------------------------------------------
Function TriTableau (LeTableau, k)
' Permet renvoyer un tableau Trié issu du tableau transmis en paramêtre (N lignes, 3 colonnes) et avec le N° de la colonne à trier k

Dim Ligne_Tampon (3)
Dim Tableau_Tampon
	Max = Ubound(LeTableau)
ReDim Tableau_Tampon(Max, 3)
	Do until i = Max
		' Chaque élément est comparé à celui qui lui est supérieur dans le classement
		j=0
		Do until j = Max
			If (LeTableau(j, k) > LeTableau((j + 1), k)) Then
			' l'élément J est plus important que l'élément J + 1 alors on les intervertit
				Ligne_Tampon(1) = LeTableau(j,1)
				Ligne_Tampon(2) = LeTableau(j,2)
				Ligne_Tampon(3) = LeTableau(j,3)
				Tableau_Tampon(j,1) = LeTableau((j + 1),1)
				Tableau_Tampon(j,2) = LeTableau((j + 1),2)
				Tableau_Tampon(j,3) = LeTableau((j + 1),3)
				Tableau_Tampon((j + 1),1) = Ligne_Tampon(1)
				Tableau_Tampon((j + 1),2) = Ligne_Tampon(2)
				Tableau_Tampon((j + 1),3) = Ligne_Tampon(3)
			Else
				Tableau_Tampon(j,1) = LeTableau(j,1)
				Tableau_Tampon(j,2) = LeTableau(j,2)
				Tableau_Tampon(j,3) = LeTableau(j,3)
				Tableau_Tampon((j + 1),1) = LeTableau((j+1),1)
				Tableau_Tampon((j + 1),2) = LeTableau((j+1),2)
				Tableau_Tampon((j + 1),3) = LeTableau((j+1),3)
			End If
		j=j+1
		loop
	i=i+1
	loop
	TriTableau = Tableau_Tampon
End Function

'-----------------------------------------------------------------------------------------------------
'A appeler avec dans le corps de la page : 
Dim TableauTrie
Redim TableauTrie (NbLigne, 3)

TableauTrie = TriTableau (tableauNonTrie, 1)

Conclusion :


Bon codage.

Romelard Fabrice (Alias F___)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.