Nombre aléatoire

K

Karlus

Guest
Cher forum, voici mon problème:

Ma colonne A contient une liste de 20 noms. J'aimerais attribuer à chaque nom un nombre aléatoire compris entre 1 et X et l'écrire dans la colonne B, X étant entré dans la cellule C1.

Là où ça se complique est que j'aimerais gérer les 2 situations suivantes:

1. si X >= 20: les nombres doivent être attribués sans redondance
2. si X < 20: toutes les redondances sont admises.

Quelqu'un aurait-il un bout de code ou une idée géniale qui puisse m'aider ?

Merci d'avance !
 
L

le Fnake

Guest
bonsoir Karlus, le forum,

une première piste : la formule =alea(). Elle renvoit un nombre aléatoire de type gaussien, avec une valeur entre 0 et 1.
Donc en tapant la formule =ENT(1+(A1-1)*ALEA()), tu obtiendra un nombre entier compris en 1 et la valeur en A1.
Ca marche pour ton 2e cas, pour ce qui est du premier cas, ca semble moins immédiat, il doit falloir écrire qlq lignes en VBA

le Fnake
 
C

CBernardT

Guest
Bonsoir Karlus et LeFnake

la piste de LeFnake est la bonne pour le tirage des nombres aléatoires.
Une mise en musique par des si (en VBA if... else ... end If) pour passer de moins de 20 ou égal 20 à plus de 20 noms.

Cordialement

bonne nuit les petits

CBernardT
 

Pièces jointes

  • NomsAleatoires.zip
    11.5 KB · Affichages: 48
K

Karlus

Guest
Merci beaucoup pour vos réponses.

Le problème est effectivement le test des redondances pour lequel je n'ai pas de solutions.

Mon plan B conciste à lister les nombres de 1 à X dans une colonne, à trouver un n° de ligne par la fonction alea(), lire la valeur inscrite dans la cellule correspondante et couper-coller cette valeur dans la cellule de destination. Au passage je fais un test pour voir si la valeur = "" (ce qui signifie redondance), auquel cas je passe à la ligne suivante, etc...

Comment ça il est tordu mon plan B :)

Merci encore !
 
Z

zuhir

Guest
bonsoir j ai un problem cest que je dois calculer la surface qu elle prend une goutte de sang sur une plaquette le prof a dit qu on doit faire une matrice et puis utiliser un generateur de nombres aleatoires le caro vide prend le 0etcaro ou il ya du sang le 1 puis faire un algoet un programm en c ca serait gentill cest j obtiens une solution sur mon e-mail :deruhu@caramail.com merci
 

Discussions similaires

Réponses
7
Affichages
603

Statistiques des forums

Discussions
312 609
Messages
2 090 202
Membres
104 451
dernier inscrit
scp9990