• Initiateur de la discussion Initiateur de la discussion jfcjfc
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jfcjfc

XLDnaute Nouveau
Bonjour, je voudrai faire un tri aléatoire sur une ligne de 20 valeurs différentes pour en garder que 10.
ex: ("A1,T1") = 1,2,3;4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20.
le tri aléatoire doit m'en garder que 10 sur ces 20.
en macro VBA.
D'avance merci
 
Re : tri aleatoire

Bonjour
Vous pouvez aussi prendre ces instructions pour initialiser une table de Long en désordre :
VB:
Dim P As Long, A As Long, J As Long
ReDim Joueur(1 To Nombre): For P = 1 To Nombre: Joueur(P) = P: Next P
For P = Nombre To 2 Step -1
   A = Int(Rnd * P) + 1: J = Joueur(A): Joueur(A) = Joueur(P): Joueur(P) = J
   Next P
 
Re : tri aleatoire

j'ai testé, mais ce n'est pas exactement ce que je veux.
Je me suis mal exprimé.
je reformule ma question:
Sur une ligne ou il y 20 nombres de valeurs différentes, il faudrait faire un effacement de 10 valeurs de façon aléatoire.
je préférerai que ce soit sur une ligne.
EX: sur la ligne("A1,T1")
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
une fois le tri effectué cela pourrait donner ceci, par exemple.
1, , ,4,5,6, , ,9, , 11,12, , ,15,16, , , ,20
les virgules sont là juste pour matérialiser les cellules.
Un n° par case.
D'avance encore une fois merci.
 
Re : tri aleatoire

Bonsoir.
À partir du moment où vous avez une liste de 20 nombres différents vous pouvez en faire ce que vous voulez, comme en explorez les 10 premiers pour obtenir les rangs de ceux que vous voulez effacer.
 
Re : tri aleatoire

merci, mais ce n'est pas ça que je veux.
L'effacement aléatoire doit se faire sur la ligne des 20 n° en gardant la ligne tel quelle.
EX: sur la ligne("A1,T1")
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
une fois le tri effectué cela pourrait donner ceci, par exemple.
1, , ,4,5,6, , ,9, , 11,12, , ,15,16, , , ,20
les virgules sont là juste pour matérialiser les cellules.
Un n° par case.
D'avance encore une fois merci.
 
Re : tri aleatoire

Bonjour, une macro qui efface aleatoirement 10 valeurs sur 20.
EX: sur la ligne("A1,T1")
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
une fois le tri effectué cela pourrait donner ceci, par exemple.
1, , ,4,5,6, , ,9, , 11,12, , ,15,16, , , ,20
les virgules sont là juste pour matérialiser les cellules.
Un n° par case.
D'avance encore une fois merci.
 
Re : tri aleatoire

Salut le fil,
A tester.
Bruno
Code:
Sub efface()
Set dico = CreateObject("Scripting.dictionary")
While dico.Count < 10
Randomize
x = Int((20 * Rnd) + 1)
dico(x) = x
Wend
a = dico.Items
For k = 0 To 9
Cells(1, a(k)) = ""
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
224
Réponses
2
Affichages
78
Réponses
7
Affichages
421
Réponses
5
Affichages
138
Réponses
6
Affichages
86
Retour