Question :

Question : tirage au sort nombres sur numbers

bonjour,

j'ai cherché dans excel et numbers une formule ou une méthode pour générer un orage au sort entre deux nombres min max par exemple entre 1 et 60 (paramètres modifiables). j'ai essayé avec "aléa entre bornes" mais le résultat sur une colonne de 60 donne des résultats qui reviennent plusieurs fois alors que d'autres manquent.

quelqu'un t'il une proposition?

merci d'avance


[titre modifié par l’hôte]

MacBook Air, iOS 11.2.6

Publiée le

Répondre
Question marquée comme Résolu
Réponse :
Réponse :

ah, vous voulez des nombres aléatoires uniques, sans doublons.

il y a plusieurs solutions. il y a une solution numbers et il y a aussi une solution applescript.

la solution numbers c'est de générer les nombres en ordre consécutif et de les trier de façon aléatoire. par exemple, trions de façon aléatoire les nombres 9 à 25:

  1. taper 9 dans la cellule b2.
  2. taper 10 dans la cellule b3.
  3. utiliser le curseur jaune pour générer le reste des nombres en ordre consécutif jusqu'à 25.
  4. taper «=alea()» dans la cellule c2.
  5. copier/coller cette formule dans le reste de la colonne c.
  6. survoler l'en-tête de la colonne c.
  7. cliquer sur la flèche et choisir «trier en ordre croissant» (ou «décroissant», peu importe).

voici des images qui montrent la solution numbers:

fichier chargé par un client

fichier chargé par un client

fichier chargé par un client

fichier chargé par un client

la solution applescript:

  1. sélectionner la cellule b2.
  2. lancer applications > utilitaires > éditeur de script.
  3. exécuter le script suivant:

set min to 9
set max to 25
tell application "numbers"
set tableau to table 1 of sheet 1 of document 1
tell tableau
set premiere_cellule_selectionnee to cell 1 of selection range
set rangee_debut to address of row of premiere_cellule_selectionnee
set rangee_fin to rangee_debut + max - min
if row count of tableau < rangee_fin then set row count of tableau to rangee_fin
set nombres to {}
repeat with rangee from rangee_debut to rangee_fin
set nombre to random number from min to max
repeat while nombre is in nombres
set nombre to random number from min to max
end repeat
set nombres to nombres & nombre
set cellule to cell (rangee) of column of premiere_cellule_selectionnee
set value of cellule to nombre
end repeat
display dialog "succès ! " & (count of nombres) & " nombres générés."
end tell
end tell

Publiée le

Question marquée comme Utile

13/03/2018 23:36 en réponse à clementdesallenôves En réponse à clementdesallenôves

alea.entre.bornes est la bonne fonction. elle devrait fonctionner. par exemple, pour obtenir un nombre aléatoire pris dans l'intervalle indiqué par les cellules b3 et c3:

=alea.entre.bornes(b3;c3)

par contre, faites attention quand vous copiez/collez une cellule contenant cette formule. numbers risque de changer automatiquement les cellules de référence (b3 et c3) par des cellules adjacentes. pour être sûr que les cellules de référence resteront inchangées, utilisez plutôt:

=alea.entre.bornes($b$3;$c$3)

le signe du dollar ($) préserve la colonne ou rangée de référence lors du copier/coller.

Cette conversation n’est pas terminée

Consulter toutes les réponses

Le contenu de la page a été chargé

Question marquée comme Utile

13/03/2018 23:36 en réponse à clementdesallenôves En réponse à clementdesallenôves

alea.entre.bornes est la bonne fonction. elle devrait fonctionner. par exemple, pour obtenir un nombre aléatoire pris dans l'intervalle indiqué par les cellules b3 et c3:

=alea.entre.bornes(b3;c3)

par contre, faites attention quand vous copiez/collez une cellule contenant cette formule. numbers risque de changer automatiquement les cellules de référence (b3 et c3) par des cellules adjacentes. pour être sûr que les cellules de référence resteront inchangées, utilisez plutôt:

=alea.entre.bornes($b$3;$c$3)

le signe du dollar ($) préserve la colonne ou rangée de référence lors du copier/coller.

13/03/2018 23:36

Répondre Utile (1)

15/03/2018 13:44 en réponse à Esquimau En réponse à Esquimau

bonjour esquimo, merci pour avoir pris le temps de m'informer. j'ai essayé de vous répondre mais je crois que cela n'a pas suivi. je réessaie.

l'aléa entre bornes ne fonctionne pas pour effectuer un colonne de 1 à x pour un tirage au sort. en effet, il faut que tous les chiffres de 1 à x soient prix en compte qu'une seule fois dans la colonne. avec la fonction aléa entre bornes on va trouver quelques chiffres doublés ou triplés et d'autres pas du tout. en plus la colonne de chiffres aléatoires change à chaque re-manipulation.

savez-vous s'il existe une possibilité ou une méthode pour préparer des lignes ou colonnes pour des tirages au sort paramètrés entre 1 et x ?

15/03/2018 13:44

Répondre Utile

15/03/2018 18:12 en réponse à Esquimau En réponse à Esquimau

j'ai édité une réponse qui a dû se perdre pour vous remercier. aussi je vais essayer de recomposer mon message dans les grandes lignes.

je suis admiratif devant vos connaissances et votre disponibilité (chapeau!!)

j'ai essayé en premier la solution alea() et ça fonctionne. je ne comprends pas le concept mai ça fonctionne. merci

ce qui ne dépasse c'est comment fonctionne ce concept. en fait une colonne de chiffres ordonnés de 1 à 20 par exemple accolée à une cellule avec la formule "aléa()" sans liaison visible entre eux. et qu'il suffit de faire un tri croissant ou décroissant sur la colonne pour obtenir une distribution aléatoire sans doublons. c'est de la magie.

j'ai aussi essayé la solution script mais l'exécution n'a rien donné. j'ai un peu regardé pour voir l'erreur sur aide mais je suis un peu limité par la langue. je suis sur mac depuis 1985 et je n'ai jamais eu l'occasion de le programmer.

c'est intéressant et ça ressemble un peu à la programmation basic que j'ai eu l'occasion d'utiliser à l'époque.

j'ai aussi complété les commentaires de satisfaction (étoile, etc) mais je ne sais pas si vous les avez reçu

15/03/2018 18:12

Répondre Utile
Question marquée comme Résolu

15/03/2018 18:13 en réponse à clementdesallenôves En réponse à clementdesallenôves

ah, vous voulez des nombres aléatoires uniques, sans doublons.

il y a plusieurs solutions. il y a une solution numbers et il y a aussi une solution applescript.

la solution numbers c'est de générer les nombres en ordre consécutif et de les trier de façon aléatoire. par exemple, trions de façon aléatoire les nombres 9 à 25:

  1. taper 9 dans la cellule b2.
  2. taper 10 dans la cellule b3.
  3. utiliser le curseur jaune pour générer le reste des nombres en ordre consécutif jusqu'à 25.
  4. taper «=alea()» dans la cellule c2.
  5. copier/coller cette formule dans le reste de la colonne c.
  6. survoler l'en-tête de la colonne c.
  7. cliquer sur la flèche et choisir «trier en ordre croissant» (ou «décroissant», peu importe).

voici des images qui montrent la solution numbers:

fichier chargé par un client

fichier chargé par un client

fichier chargé par un client

fichier chargé par un client

la solution applescript:

  1. sélectionner la cellule b2.
  2. lancer applications > utilitaires > éditeur de script.
  3. exécuter le script suivant:

set min to 9
set max to 25
tell application "numbers"
set tableau to table 1 of sheet 1 of document 1
tell tableau
set premiere_cellule_selectionnee to cell 1 of selection range
set rangee_debut to address of row of premiere_cellule_selectionnee
set rangee_fin to rangee_debut + max - min
if row count of tableau < rangee_fin then set row count of tableau to rangee_fin
set nombres to {}
repeat with rangee from rangee_debut to rangee_fin
set nombre to random number from min to max
repeat while nombre is in nombres
set nombre to random number from min to max
end repeat
set nombres to nombres & nombre
set cellule to cell (rangee) of column of premiere_cellule_selectionnee
set value of cellule to nombre
end repeat
display dialog "succès ! " & (count of nombres) & " nombres générés."
end tell
end tell

15/03/2018 18:13

Répondre Utile (1)
Profil de l’utilisateur : clementdesallenôves

Question : tirage au sort nombres sur numbers