OVH Cloud OVH Cloud

permutation aleatoires de 20 nombres

2 réponses
Avatar
Olivier
Bonjour, et merci à Laurent Longre pour sa réponse précédente.
Ce coup-ci je possède disons 20 nombres (cela peut aller jusqu'à 40) qui
sont stockés dans un tableau A(1 à 20).
Je voudrais mélanger ces 20 nombres aléatoirement. Comment faire pour ne pas
trop perdre de temps dans ce mélange ? Pour l'instant j'utilise un tableau
annexe dans lequel je met les nombres précédement tirés puis à chaque
nouveau tirage je vérifie que je ne l'ai pas déjà pris,... mais je trouve le
résultat trop long. Y-a-t il plus rapide ?
Olivier

2 réponses

Avatar
Daniel
Bonsoir.
La macro suivante génère un nombre en colonne B. Il reste à trier la plage
A1:B20 sur la colonne B

Sub Test()
Range("B1").Select
For i = 1 To 20
ActiveCell = ActiveCell.Offset(0, -1).Value * Rnd
ActiveCell.Offset(1, 0).Select
Next i
End Sub

Cordialement.
Daniel
"Olivier" a écrit dans le message de news:
421e06e8$0$312$
Bonjour, et merci à Laurent Longre pour sa réponse précédente.
Ce coup-ci je possède disons 20 nombres (cela peut aller jusqu'à 40) qui
sont stockés dans un tableau A(1 à 20).
Je voudrais mélanger ces 20 nombres aléatoirement. Comment faire pour ne
pas
trop perdre de temps dans ce mélange ? Pour l'instant j'utilise un tableau
annexe dans lequel je met les nombres précédement tirés puis à chaque
nouveau tirage je vérifie que je ne l'ai pas déjà pris,... mais je trouve
le
résultat trop long. Y-a-t il plus rapide ?
Olivier





Avatar
Georges Harrisson
Bonsour® Daniel
une autre solution sans macro ;o)))
en A1:A20 une liste quelconque (Nombres, Noms, etc...)
en B1:B20 la fonction =Alea() recopie vers le bas
en C1:C20 la formule =INDEX($A$1:$A$20;RANG(B1;$B$1:$B$20);1) recopie vers
le bas
en C1:C20 on retrouve une distribution aleatoire des infos ce trouvant en
A1:A20

Sans manque et sans doublon !!!

appuyer sur F9 pour une autre redistribution

;o)))
@+






o 20
ActiveCell = ActiveCell.Offset(0, -1).Value * Rnd
ActiveCell.Offset(1, 0).Select
Next i
End Sub

Cordialement.
Daniel
"Olivier" a écrit dans le message de news:
421e06e8$0$312$
Bonjour, et merci à Laurent Longre pour sa réponse précédente.
Ce coup-ci je possède disons 20 nombres (cela peut aller jusqu'à 40)
qui sont stockés dans un tableau A(1 à 20).
Je voudrais mélanger ces 20 nombres aléatoirement. Comment faire
pour ne pas
trop perdre de temps dans ce mélange ? Pour l'instant j'utilise un
tableau annexe dans lequel je met les nombres précédement tirés puis
à chaque nouveau tirage je vérifie que je ne l'ai pas déjà pris,...
mais je trouve le
résultat trop long. Y-a-t il plus rapide ?
Olivier