[TABLEUR] Une suite toute bête…

aCLR

Bisounours
Modérateur
Club iGen
7 Mars 2008
11 531
5 925
Rouen
Bonjour,

je cherche à générer une suite de nombres mélangés dans OpenOffice 3 (OSX 10.6) avec la fonction =ALEA()*

J'ai le même nombre de lignes que la valeur maximum de ALEA et pourtant les résultats donnent des doublons sur la colonne et donc des numéros absents. (voir le pdf joint)

Je ne sais pas quoi ajouter à la formule pour qu'il n'affiche chaque numéro qu'une fois.
À moins qu'il n'y ai une formule alternative ?!
 
dans Excel, que je trouve imbattable pour les formules, ALEA ou ALEA.ENTRE.BORNES a le même effet. Le problème, pour n'avoir qu'une seule fois le nombre tiré aléatoirement parmi un lot défini, c'est qu'à chaque tirage, le numéro tiré devrait être "marqué" par le tableur.

Je vous conseille de feinter. Vous définissez vos cellules ALEA par exemple de 1 à 30 dans la colonne A. Vous aurez un certain nombre de chiffres qui se répéteront. Ensuite dans une colonne B, vous mettez des chiffres de 1 à 30 dans l'ordre. Ensuite vous triez les deux colonnes par l'ordre de la colonne ALEA. Votre colonne B sera alors dans un ordre aléatoire.
 
Le principe d'un nombre aléatoire, c'est précisément son caractère aléatoire, donc, il peut aussi bien se répéter 10 fois de suite que ne jamais se répéter (avec une probabilité de répétition qui augmente en raison inverse de l'amplitude entre les bornes). Là, ce que tu veux faire, c'est un tirage, c'est différent, c'est comme tirer une carte d'un jeu, ou les boules du loto, une fois qu'une est sortie, elle ne peut pas sortir de nouveau, car elle est unique.

Il te faut définir les bornes, et générer une série continue entre ces bornes, puis procéder à un tirage aléatoire des positions de ces nombres dans la série, avec un test sur le résultat : déjà tiré, on ne prend pas, pas encore tiré, on prend et on marque comme étant déjà tiré. Une alternative est de créer la série continue dans une colonne (un nombre par ligne), et à chaque tirage aléatoire, supprimer la ligne tirée, et faire le tirage aléatoire suivant sur une ligne de moins (par exemple, tu crée une série de nombres de 1 à 49, premier tirage tu sors un nombre aléatoire entre 1 et 49, tu retiens le N° correspondant, tu supprimes sa ligne, et pour le suivant, tu génères un nombre aléatoire entre 1 et 48, et ainsi de suite).

Que ça soit avec Excel ou OOo, dans les deux cas, il est impératif d'écrire une macro pour parvenir à un tel résultat.
 
Merci pour vos réponses.
Je vais donc m'atteler à écrire une macro.
Pour l'instant je suis dans l'aide de OOo.

Mélanger les nombres de 1 à 144 sur 144 lignes ne devraient pas poser de problème…

Bon dimanche ;)
 
(…) puisque la macro, (…)

Bon alors pour cette histoire de macro dans OOo, je suis tombé sur une pop up qui m'a refroidi :nailbiting:

48279_Mac_OOo_JRE_issue.png


Une recherche googoo plus tard, je découvre que cela a un rapport avec le Java. Je me suis donc tourné vers un proche très calé dans ce domaine. Il a solutionné cette histoire de random en quelques minutes dans le Terminal en utilisant le langage Java.

Ce qui fait que j'ai un petit programme à exécuter sous Terminal qui génère un fichier texte avec la suite de nombres mélangés sans doublons.

Mais je ne désespère pas d'arriver à le faire sous OOo dès que le JRE sera mis à jour. Enfin dès que je l'aurai mis à jour…:rateau: