Vba-echantillon

Aidez-moi svp -  
 amsoartsa -
Bonjour,

J'ai un probleme pour programmer avec VBA. J'ai un ensemble de données que je dois repartir alétoirement en en sous ensembles de meme taille et rangés par ordre croissante. Pour les n ensembles tirés et rangés, je dois extraire pour le premier le plus grand nombre, pour le deuxieme ensemble le deuxieme plus grand nombre ...ainsi de suite jusqu'au m ieme ensemble que je dois extraire le m ieme plus grand nombre.
La premiere partie est faite, mais c'est la deuxieme partie qui me pose probleme c'est à dire l'extraction des données dans les ensembles.

Merci de m'aider
Configuration: Windows 2000 Internet Explorer 6.0

6 réponses

  1. amsoartsa Messages postés 1 Statut Membre
     
    Est ce que quelqu'un a une idée sur ce sujet
    0
  2. bouket Messages postés 147 Statut Membre 22
     
    Bonjour,

    Ne peux-tu pas simplement parcourir l'ensemble, en mettant de côté la première valeur puis en la comparant à la deuxieme... et en la remplacant si elle est plus grande et parcourir jusqu'à la fin de ton ensemble et ainsi, tu as dans ta variable la plus grande valeur de l'ensemble ?

    Peut-être n'ai je pas bien compris la question ^^ !

    Edit : AH ! le deuxième plus grand nombre ok !
    et bien, essai de les classer dans une table ... tu fais une copie de ton ensemble ... et tu regarde lequel est le plus grand, tu le supprimes après l'avoir sauvegarder dans la première case mémoire de ta table, puis tu fais pareil avec le deuxieme ... ect !

    Tu produis comme ca pour chaque ensemble et tu les auras donc classé...

    Après il suffit de prendre la bonne ligne !

    à ++
    0
    1. amsoartsa
       
      Merci de votre reponse mais j'ai pas trop compris l'explication, pouvez-vous me donner un exemple?

      Merci!!
      0
  3. starghof Messages postés 176 Date d'inscription   Statut Membre Dernière intervention   4
     
    c'est un traitement recursive !! non?
    0
  4. amsoartsa
     
    Merci de me donner un exemple.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Polux31 Messages postés 7219 Statut Membre 1 204
     
    On gagne quoi si on fait ton exercice ?
    0
  7. bouket Messages postés 147 Statut Membre 22
     
    Tes ensembles étant classés par ordre croissant, cela simplifie les choses

    Option Base 1 'Il commence la table à 1
    
    Sub Macro1
    
    Dim nombre_element As integer
    nombre_element = ?? 'le nombre d'élément de chaque ensemble (valeur constante !)
    Dim table_données(n) As Variant 'Il crée une table de n valeurs...
    
    For j= 1 To n 'il parcourt les ensembles
    
    table_données(j) = Cells(nombre_element - j +1, numéro de la colonne).Value 'il attribue à la case mémoire j de la table la valeur de la cellule correspondant au j ème plus grand nombre... (il va cherche en commencant par le bas!)
    
    Next j 'il passe à l'ensemble suivant
    
    End Sub
    


    Cela te parles ??
    0
    1. amsoartsa
       
      Merci beaucoup!!!
      0