Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1646 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment trier un tableau ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment trier un tableau ?

n°1484645
yanhoupa
Posté le 30-11-2006 à 21:40:59  profilanswer
 

Bonsoir,
 
Voila j'ai un problème :
 
J'ai un tableau de 10 lignes et 1 colone en A de valeurs non trié. Et comment en B (par exemple) les avoir triées ?
Je sais que c'est simple et toussa mais j'ai pas trouver un programme simple (un tuto par exemple) qui l'explique.
 
http://pix.nofrag.com/26/f3/6cbac1c4550dbc1d1a4a39a9484d.jpg
PS : en plus, en recopiant le tableau je me suis trompé, j'ai mis 2 fois 30, mais c'est pas important.
 
Il me faut surtout un programme qui le fasse mais si je pouvais le comprendre ca serai un plus :)
 
Et qu'il soit performant ou non est secondaire.
 
Merci d'avance

mood
Publicité
Posté le 30-11-2006 à 21:40:59  profilanswer
 

n°1484649
FlorentG
Unité de Masse
Posté le 30-11-2006 à 21:45:36  profilanswer
 

Je pige pas... Excel le fait tout seul ! Tu copie ta colonne, puis tu tries. Et si tu enregistres sous forme de macro ces actions, ça te fera le programme

n°1484651
yanhoupa
Posté le 30-11-2006 à 21:52:43  profilanswer
 

enfaite j'ai trouvé cela qui est super proche de selon d'ont j'ai besoin :
 
http://mypage.bluewin.ch/w.stucki/Programmes.htm#Tri
 
Mais eux c'est dans un tableau assez "complexe" ya pas moyens de mettre ca plus en forme comme j'en ai besoin.
 
Sinon oui excel le fait tout seul, mais crois bien que je fais pas ça par plaisir de me compliquer la vie, c'est que très bientot j'ai un devoir noté et un exercice type du test serai d'ecrire un programme qui trie des valeurs d'une colone dans une autre... :/

n°1484652
FlorentG
Unité de Masse
Posté le 30-11-2006 à 21:54:56  profilanswer
 

Avec les fonctions Excel, ça prend deux lignes :D

n°1484653
yanhoupa
Posté le 30-11-2006 à 21:57:47  profilanswer
 

:/ bah je le ferais si j'arrive pas a le faire tout seul mais bon faudra pas que j'esper trop avoir tout les points

n°1484692
kiki29
Posté le 01-12-2006 à 02:33:49  profilanswer
 

Méthodes de Tris VB6 à adapter en VBA: http://docvb.free.fr/vbplus/Tris/Tri.php


Message édité par kiki29 le 01-12-2006 à 03:54:52
n°1484703
yanhoupa
Posté le 01-12-2006 à 07:12:43  profilanswer
 

Ah merci, j'ai reussi a faire ceci avec le model de trie par bulle :
 

Code :
  1. Sub tri_bulle()
  2. Dim tableau3(10) As Single
  3. Dim i As Integer
  4. Dim j As Integer
  5. Dim a As Single
  6. For i = 1 To 10
  7.     tableau3(i) = Cells(i)
  8. Next i
  9. For i = 1 To 10 - 1
  10.     For j = 1 To 10 - i
  11.         If tableau3(i) > tableau3(i + 1) Then
  12.             a = tableau3(i + 1)
  13.             tableau3(i + 1) = tableau3(i)
  14.             tableau3(i) = a
  15.         End If
  16.     Next j
  17. Next i
  18. For i = 1 To 10
  19.     Cells(i, 2) = tableau3(i)
  20. Next i
  21. End Sub


 
Mais bien sur ca marche pas

n°1484721
yanhoupa
Posté le 01-12-2006 à 07:46:52  profilanswer
 

j'ai pas compris le j+1 ?

n°1484722
seniorpapo​u
Posté le 01-12-2006 à 07:49:10  profilanswer
 

If tableau3(i) > tableau3(i + 1) Then
            a = tableau3(i + 1)
            tableau3(i + 1) = tableau3(i)
            tableau3(i) = a
mets des j partout à la place des i

n°1484723
seniorpapo​u
Posté le 01-12-2006 à 07:50:50  profilanswer
 

sais tu faire du "pas à pas" dans vbe ?

mood
Publicité
Posté le 01-12-2006 à 07:50:50  profilanswer
 

n°1484725
seniorpapo​u
Posté le 01-12-2006 à 07:56:03  profilanswer
 

cells(i,1) à la place de cells(i)

n°1484726
yanhoupa
Posté le 01-12-2006 à 07:56:05  profilanswer
 

non
 

Code :
  1. Sub tri_bulle()
  2. Dim tableau3(10) As Single
  3. Dim i As Integer
  4. Dim j As Integer
  5. Dim a As Single
  6. For i = 1 To 10
  7.     tableau3(i) = Cells(i)
  8. Next i
  9. For i = 1 To 10 - 1
  10.     For j = 1 To 10 - i
  11.         If tableau3(j) > tableau3(j + 1) Then
  12.             a = tableau3(j + 1)
  13.             tableau3(j + 1) = tableau3(j)
  14.             tableau3(j) = a
  15.         End If
  16.     Next j
  17. Next i
  18. For i = 1 To 10
  19.     Cells(i, 2) = tableau3(i)
  20. Next i
  21. End Sub

n°1484735
Paul Hood
Posté le 01-12-2006 à 08:33:02  profilanswer
 

Bonjour,
A part ce que seniorpapou t'a dèjà dit, et que tu n'a pas fait, ca marche chez moi.
Quand tu complétes ton tableau, dans ta boucle il faut mettre
  tableau3(i)=cells(i,1)

n°1484767
yanhoupa
Posté le 01-12-2006 à 09:49:16  profilanswer
 

lol :/ ca marche la
 
tout cela a cause de ca :(
 
mais merci en tout cas :d


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comment trier un tableau ?

 

Sujets relatifs
Trier un tableau sous excel horizontalement avec VBA(résolu)[JAVA]trier un tableau sans comparable ni compareTo
Tableau à trier en fct de deux champstrier un tableau
Trier meilleurs scores dans un tableauTrier meilleurs scores dans un tableau
Je rage : J'arrive pas a trier un tableau...trier plusieurs tableau de mem dimension avec un unique ?
Trier un tableau par date ...Trier un "tableau" (d'une page html) issue d'un resultset java ?
Plus de sujets relatifs à : Comment trier un tableau ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR