OVH Cloud OVH Cloud

tirage aleatoire dans une liste

12 réponses
Avatar
eliaz90
Hello,

J'ai en A1:A50 une liste de chiffre de 1 =E0 50.
J'utilise un bouton "Go" qui effectue un tirage au sort dans cette
liste et me donne le r=E9sultat en F14. Un nouveau numero sort a chaque
clic sur "Go"
J'utilise la macro ci dessous, mais il s'av=E8re que le tirage n'est pas
si al=E9atoire que cela car en fait excel sort toujours la m=EAme s=E9rie
de numeros et toujours dans le m=EAme ordre, m=EAme apr=E8s fermeture et
r=E9ouverture du fichier l'ordre de sortie est toujours identique.
Quelqu'un a t'il une id=E9e? (j'utilise Excel 2003)

Sub GO()

Dim C As New Collection
Dim Cell As Range, Rg As Range
Dim Nb As Integer, Rg1 As Range
Dim NomFeuille As String, R As Integer
Dim Adr1 As String, Adr As String

NomFeuille =3D "Sommaire"
Adr =3D "A1:A50"
Adr1 =3D "F14"

With Worksheets(NomFeuille)
Set Rg =3D .Range(Adr)
Set Rg1 =3D .Range(Adr1)
End With

Application.ScreenUpdating =3D False
On Error Resume Next
Nb =3D Rg.Rows.Count
For Each Cell In Rg1
Do
R =3D ((Nb * Rnd) + 1)
Cell.Value =3D Rg(R)
Loop Until Cell <> ""
Next
Set Rg =3D Nothing: Set Rg1 =3D Nothing

Merci de votre support
Eliaz90

2 réponses

1 2
Avatar
eliaz90
Effectivement tu a raison , je ne l'ai pas testée, mais je la garde
sous le coude en cas de problème.
D'un autre coté je ne suis pas seul à utiliser ce fichier et je ne
suis pas très favorable à laisser apparaitre des formules dans les
cellules qui pourraient très facilement être effacées sachant qu'une
protection du classeur ne changerai pas grand chose car facilement
"crackable". Ceci est un autre débat.

Merci quand même
Eliaz90
Avatar
AV
D'un autre coté je ne suis pas seul à utiliser ce fichier et je ne
suis pas très favorable à laisser apparaitre des formules


Achh... faut lire...
notamment l'additif de 14:53 qui te donne justement une solution qui inscrit
seulement la valeur !

dans les cellules qui pourraient très facilement être effacées


Si (protection déficiente) on peut effacer les formules, on peut effacer les
constantes...!

Bon...allez...
j'économise mes petits doigts....

AV

1 2