Vba-echantillon
Aidez-moi svp
-
amsoartsa -
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
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
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 !
à ++
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 !
à ++
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tes ensembles étant classés par ordre croissant, cela simplifie les choses
Cela te parles ??
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 ??