Help, Algorithme de tri sélectif VBA

Help, Algorithme de tri sélectif VBA - VB/VBA/VBS - Programmation

Marsh Posté le 16-09-2013 à 20:44:30    

Bonjour à tous,  
 
Débutant en VBA, j'aurais besoin d'un coup de main pour l'implémentation de l'algorithme de tri sélectif.  
 
Il s'agit de l'un des algorithmes de tri les plus simple, mais apparemment mon niveau médiocre ne me permet pas de l'écrire en VBA.  
 
Merci d'avance pour votre aide.  

Reply

Marsh Posté le 16-09-2013 à 20:44:30   

Reply

Marsh Posté le 16-09-2013 à 20:49:45    

procédure tri_selection(tableau t, entier n)
      pour i de 1 à n - 1
          min ← i
          pour j de i + 1 à n
              si t[j] < t[min], alors min ← j
          fin pour
          si min ≠ i, alors échanger t[i] et t[min]
      fin pour
  fin procédure

Reply

Marsh Posté le 16-09-2013 à 21:15:04    

Sub tri_selection()
 
   Dim liste() As Variant
   Dim min As Variant
 
   liste() = Array() 'remplir le tableau avec des valeurs
   min = Application.Min(liste)
 
End Sub

Reply

Marsh Posté le 16-09-2013 à 22:22:37    

Merci beaucoup maybeeijornot. je vous dirais si elle fonctionne .  

Reply

Marsh Posté le 16-09-2013 à 23:06:45    

J'ai peu de doutes sur le fait que ça fonctionne parce que c'est ce que tu devrais écrire si tu faisais vraiment un programme, personne ne se prend la tête à écrire un algo quand il existe déjà une méthode toute faite pour faire la même chose.
 
Ce qui me fait dire que tu dois plutôt faire un exercice, or nous ne sommes pas là pour faire l'exercice à ta place...
Là tu as juste mis ton énoncé sans même essayer de le faire.
 
Tu as des cours normalement, enfin bref pour déclarer une procédure c'est :

Code :
  1. Sub Nom_De_Ta_Procedure()


ou

Code :
  1. Private Sub Nom_De_Ta_Procedure() //si tu as vu la différence entre les public sub et les private sub


 
Ensuite tu dois déclarer tes variables :

Code :
  1. Dim nom_de_la_variable Type_De_Variable //le type de variable peut être un entier, un réel, une chaîne de caractères, un booléen et encore bien d'autres types
  2. Dim nom_de_la_variable() Type_De_Variable //ceci définit un tableau dynamique


 
Pour assigner une valeur à une variable :

Code :
  1. nom_de_la_variable = valeur_initiale


 
Faire une boucle For (Pour nom_de_la_variable allant de valeur_initiale à valeur_finale par pas de pas_d_incrementation) :

Code :
  1. For nom_de_la_variable = valeur_initiale To valeur_finale Step pas_d_incrementation
  2.    code à réaliser
  3. Next nom_de_la_variable


 
Faire une condition Si .. Alors :

Code :
  1. If test_logique Then //dans un test logique, "égale" s'écrit avec le signe : "=", supérieur ou égale : ">=", inférieur ou égale : "<=", différent : "<>", tu as d'autres tests encore
  2.    code à réaliser
  3. End If


 
Fin de procédure :

Code :
  1. End Sub


Message édité par MaybeEijOrNot le 17-09-2013 à 13:08:12
Reply

Marsh Posté le 17-09-2013 à 09:46:56    

Dans le premier message, c'est bien écris débutant.....Bref, merci tout de même!
 
ciao

Reply

Marsh Posté le 17-09-2013 à 10:10:07    

 
           En VBA certes mais pour quelle application ?
 
           Sous Excel le tri en VBA n'est pas vraiment utile vu qu'il en dispose en interne !
 
           Sinon pour une méthode plus efficace et pas compliquée à mettre en oeuvre, voir sur Wiki le tri Combsort
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed