Faire selectionner un nombre au hazard dans une selection

klorane

XLDnaute Occasionnel
Bonjour à tout le forum,

J'ai dans les cellules A1 à A8 des nombres.

En cliquant sur un bouton il faudrait que excel selectionne au hazard un numéro dans A1 à A8 et l'affiche en B1.

Qui saurait ecrire cette macro?

Merci

Klorane
 

Staple1600

XLDnaute Barbatruc
Re : Faire selectionner un nombre au hazard dans une selection

Bonjour Hasco (m'ai trompé bonsoir bhbh)

Houps trop tard ;)

en VBA
Code:
sub test()
Dim i As Byte
i = Int(Rnd() * 8 + 1)
Range("A" & i).Copy Range("B1")
end sub
 
Dernière édition:

Tibo

XLDnaute Barbatruc
Re : Faire selectionner un nombre au hazard dans une selection

Bonjour klorane, salut Jean-Marie,

Pour compléter en formules, deux autres :

Code:
=INDEX(A1:A8;ENT(ALEA()*8)+1)

ou

Code:
=DECALER(A1;ENT(ALEA()*8);0)

Cela dit, si klorane veut figer le chois aléatoire, il va falloir passer par une macro (dont je laisse la réalisation aux bons soins des Vbaïstes qui rodent dans le coin ;))

@+

Edit : salut Hubert

@+
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Faire selectionner un nombre au hazard dans une selection

Salut jeanpierre :)

euh, pierrejean ;)

d'après l'aide VBA, :

Randomize utilise l'argument number pour initialiser le générateur de nombres aléatoires de la fonction Rnd en lui donnant une nouvelle valeur initiale. Si l'argument number est omis, la valeur renvoyée par l'horloge système sert de valeur initiale.

En l'absence de Randomize, la fonction Rnd (sans argument) adopte le même nombre comme valeur initiale la première fois qu'elle est appelée. Lors des appels ultérieurs, elle réutilise le dernier nombre généré comme valeur initiale.

Note Pour obtenir plusieurs fois les mêmes séries de nombres aléatoires, appelez Rnd avec un argument négatif juste avant d'utiliser Randomize avec un argument numérique. L'utilisation de Randomize en répétant la valeur précédente pour l'argument number ne permet pas de reproduire une série de nombres.

Donc, toujours d'après l'aide, si on n'utilise pas Randomize, on part toujours du même nombre en valeur initiale

Donc, très bonne question, à laquelle je ne m'étais pas penchée.....
Une petite idée, en mettant un :

Code:
Randomize (Timer)
x = Rnd

je pense qu'on a moins de chance de tomber sur le même nombre, n'ayant pas la même ligne de départ

NB : j'ai souvent remarqué, en utilisant Rnd dans la même session, et de façon à obtenir un nombre entier (comme dans ce fil), on tombait souvent sur les mêmes séquences....

A approfondir.....

Mais très bonne remarque, comme quoi les déambulateurs ont du bon......:D
 
Dernière édition:

jeanpierre

Nous a quitté
Repose en paix
Re : Faire selectionner un nombre au hazard dans une selection

Bonjour à tous,

bhbh, merci de rectifier ton message, PierreJean, et avec sa grande bonne humeur, va me taper dessus... hihi.

Maintenat RND, dans tous les langages, donne toujours les mêmes valeurs. Le Randomize permet de modifier cet état de fait.

Bon WE.

Jean-Pierre
 

pierrejean

XLDnaute Barbatruc
Re : Faire selectionner un nombre au hazard dans une selection

Re

Merci hbhb

Tiré de l'aide de Rnd ,on a egalement:

Avant d'appeler Rnd, utilisez l'instruction Randomize sans argument pour initialiser le générateur de nombres aléatoires à partir d'une valeur initiale tirée de l'horloge système.

NB: Le déambulateur a ceci de particulier qu'il induit une marche saccadée qui a pour inconvenient de secouer la tête .Et ceci provoque des inversions de langage voire même d'ecriture
On pourrait même le conseiller a ceux dont la mobilité est normale pour redresser leur penchant a cette inversion

Edit : Salut jeanpierre :):)
 

jeanpierre

Nous a quitté
Repose en paix
Re : Faire selectionner un nombre au hazard dans une selection

Re, Salut PierreJean,

Good, là : "NB: Le déambulateur a ceci de particulier qu'il induit une marche saccadée qui a pour inconvenient de secouer la tête .Et ceci provoque des inversions de langage voire même d'ecriture
On pourrait même le conseiller a ceux dont la mobilité est normale pour redresser leur penchant a cette inversion
"

En fait, c'est le problème de la mer qui t'envoie de babord à tribord... selon ses humeurs...
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Faire selectionner un nombre au hazard dans une selection

:D:D:D

Re-,

effectivement, je n'avais point lu l'aide sur Rand....:eek:
Mais comme la deuxième valeur dépend de la première (valeur initiale), donc la troisième dépend de la deuxième, qui dépend de la première (euh, je continue....? :D)
M'enfin, plus sérieusement, c'est ce que je pense, et le fait de réinitialiser la valeur initiale doit servir...
La question reste posée, toujours est-il qu'il m'est arrivé, lors de session unique, avec des tirages "aléatoires", d'obtenir souvent des tirages "pratiquement" identiques
Je vais faire des essais avec Randomize, et revient ajouter mon grain de sel dans cette bataille navale....:p
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re : Faire selectionner un nombre au hazard dans une selection

Re-,
je confirme....

J'ai un fichier, en fait un petit jeu, qui donne les pays, il faut trouver les capitales (222 pays, donc autant de capitales), et si je l'ouvres, fait 5 ou 6 tirages, puis le ferme sans enregistrer les changements, et le rouvre, la série des 5 ou 6 premiers pays est identique, sans utilisation de Randomize
Avec Randomize(Timer), les séries se modifient

Donc, du moins à mon avis, Randomize n'est pas aléatoire, ni superflu

Merci Pierrejean :)
 

Discussions similaires

Statistiques des forums

Discussions
314 588
Messages
2 110 990
Membres
111 002
dernier inscrit
Lolo73i