Vba-echantillon

Fermé
Aidez-moi svp - 11 août 2009 à 14:46
 amsoartsa - 12 août 2009 à 15:19
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

6 réponses

amsoartsa Messages postés 1 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 11 août 2009
11 août 2009 à 15:23
Est ce que quelqu'un a une idée sur ce sujet
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
11 août 2009 à 18:46
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
Merci de votre reponse mais j'ai pas trop compris l'explication, pouvez-vous me donner un exemple?

Merci!!
0
starghof Messages postés 177 Date d'inscription jeudi 18 septembre 2008 Statut Membre Dernière intervention 8 avril 2011 4
11 août 2009 à 18:49
c'est un traitement recursive !! non?
0
Merci de me donner un exemple.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
11 août 2009 à 20:59
On gagne quoi si on fait ton exercice ?
0
bouket Messages postés 143 Date d'inscription mardi 11 août 2009 Statut Membre Dernière intervention 16 octobre 2011 22
11 août 2009 à 21:03
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
Merci beaucoup!!!
0