Bonjour,
j'aimerai faire un tirage au sort parmi 42 noms, et que le résultat apparaisse dans une msgbox après avoir appuyé sur le bouton du tirage.
J'arrive bien a générer des nombres, mais comment les faire correspondre a un des 42 noms?
Merci.
Version imprimable
Bonjour,
j'aimerai faire un tirage au sort parmi 42 noms, et que le résultat apparaisse dans une msgbox après avoir appuyé sur le bouton du tirage.
J'arrive bien a générer des nombres, mais comment les faire correspondre a un des 42 noms?
Merci.
Bonjour, vous faites un tableau comportant en colonne A les noms et en colonne B des numéros de 1 a x en sachant qu'il vous suffit de trouver le numéro identique à celui sortis pour entrer le nom qui y est associé.
Cordialement 8-)
bonjour
randomize et rnd
dans une plage
Code:
1
2
3
4
5
6 Sub test() 'dans une plage dim plage as Range Randomize Set plage = Range("A1", Cells(Rows.Count, 1).End(xlUp)) MsgBox plage.Cells(1 + (Rnd * plage.Cells.Count - 1)) End Sub
dans une variable tableau
a chaque lancement d'une des deux sub test tu sortira un nom au hasardCode:
1
2
3
4
5
6 Sub test2() 'dans une variable tableau din tabl as variant Randomize tabl = Array("toto", "titi", "riri", "fifi", "loulou", "truc", "machin") MsgBox tabl(Rnd * UBound(tabl)) End Sub
parfois il peut sortir plusieur fois, on peu regler ca tres facilement avec une variable nom en variable global qui memoriserait le nom choisi et l'exepter sur le prochain tirage
pas besoins de l'associer a un numero d'index ;)
edit:
petite precision
la plage peut etre multiligne et multicolonne car je ne choisi pas par ligne/colonne mais par l'index de sa position dans le .count
Salut, voir la FAQ