Il semblerait que plus personne ne soit actif dans cette discussion. Si vous souhaitez reprendre la conversation, posez simplement une nouvelle 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 13 mars 2018 à 11h49

Répondre
Question marquée comme Meilleure réponse

Publiée le 15 mars 2018 à 18h13

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

5 réponses
Question marquée comme Meilleure réponse

Le 15 mars 2018 à 18h13 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

Le 13 mars 2018 à 23h36 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.

Le 15 mars 2018 à 13h44 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 ?

Le 15 mars 2018 à 18h12 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

Tirage au sort nombres sur Numbers

Bienvenue dans la Communauté d’assistance Apple
Un forum où les clients Apple s’entraident avec leurs produits. Faites vos premiers pas avec votre identifiant Apple.