cs_psycho
Messages postés232Date d'inscriptionsamedi 11 mai 2002StatutMembreDernière intervention27 octobre 2007
-
9 janv. 2004 à 15:18
manroww
Messages postés1Date d'inscriptionjeudi 5 mai 2011StatutMembreDernière intervention 5 mai 2011
-
5 mai 2011 à 15:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
manroww
Messages postés1Date d'inscriptionjeudi 5 mai 2011StatutMembreDernière intervention 5 mai 2011 5 mai 2011 à 15:33
Bonjour,
Si J'ai bien compris ta volonte de Benbax, tu voulais presenter a la fois la possibilite de tri croissant, et celle pour un tri decroissant ?
J'ai ecrit le code en consequence, inspire du tiens.
Il suffit de uncomment le tri decroissant, et comment le tri croissant pour inverser l'ordre :-)
Sub tri()
Dim i As Byte
Dim j As Byte
Dim tmp As Byte
Dim tmpMin As Byte
Dim tmpMax As Byte
Dim tableau(10) As Byte
Dim invert As Boolean
' ***** POUR L'EXEMPLE **************************************
'Considérons que le tableau est plein de valeurs aléatoires....
cs_benbax
Messages postés9Date d'inscriptionlundi 12 mai 2003StatutMembreDernière intervention14 décembre 2004 24 févr. 2004 à 23:11
C'est bien vu =)
Désolé, pour les eventuels problèmes posé...
Je n'ai pas le temps de modifer, alors remerciement a psycho =)
cs_psycho
Messages postés232Date d'inscriptionsamedi 11 mai 2002StatutMembreDernière intervention27 octobre 2007 9 janv. 2004 à 15:18
salut, je pense pas que tu puisses trier ton tableau avec cet algo. Je crois qu il manque une ligne en fait : tu fais
tmpmax=tableau(i)
tableau(i)=tableau(i+1)
mais tu ne fais pas tableau(i+1)=tmpmax
donc, le tri n est pas fais, tu affectes juste le maximum a tous les éléments du tableau
5 mai 2011 à 15:33
Si J'ai bien compris ta volonte de Benbax, tu voulais presenter a la fois la possibilite de tri croissant, et celle pour un tri decroissant ?
J'ai ecrit le code en consequence, inspire du tiens.
Il suffit de uncomment le tri decroissant, et comment le tri croissant pour inverser l'ordre :-)
Sub tri()
Dim i As Byte
Dim j As Byte
Dim tmp As Byte
Dim tmpMin As Byte
Dim tmpMax As Byte
Dim tableau(10) As Byte
Dim invert As Boolean
' ***** POUR L'EXEMPLE **************************************
'Considérons que le tableau est plein de valeurs aléatoires....
tableau(1) = 5
tableau(2) = 3
tableau(3) = 46
tableau(4) = 7
tableau(5) = 2
' **************************************************************
Do
invert = False
For i = 1 To 4
' ******** Ordre CROISSANT ***********
If tableau(i) > tableau(i + 1) Then
tmpMax = tableau(i)
tableau(i) = tableau(i + 1)
tableau(i + 1) = tmpMax
invert = True
End If
' *************************************
'' ******** Ordre DECROISSANT *********
'
' If tableau(i) < tableau(i + 1) Then
'
' tmpMin = tableau(i + 1)
' tableau(i + 1) = tableau(i)
' tableau(i) = tmpMin
' invert = True
'
' End If
'
'' *************************************
Next i
Loop While invert
'***** POUR L'EXEMPLE *********
For i = 1 To 5
Debug.Print tableau(i)
Next i
'*******************************
End Sub
24 févr. 2004 à 23:11
Désolé, pour les eventuels problèmes posé...
Je n'ai pas le temps de modifer, alors remerciement a psycho =)
9 janv. 2004 à 15:18
tmpmax=tableau(i)
tableau(i)=tableau(i+1)
mais tu ne fais pas tableau(i+1)=tmpmax
donc, le tri n est pas fais, tu affectes juste le maximum a tous les éléments du tableau
dis moi si je me trompe.
allez @+