générer une série de nombres aléatoire

jardin95

XLDnaute Nouveau
générer une série de nombres aléatoire [resolu]

Bonjour,
Une demande toute simple pour les pro qui se trouvent sur ce forum (Moi, je n'y connait pas grand chose).
J'ai 1000 nom dans une liste et j'aimerai pouvoir, à la demande générer de façon aléatoire un nombre de 1 à 1000 en face de chaque nom. je pense qu'il faut utiliser la fonction "alea", mais je ne m'en sort pas. bien sur, il ne faut pas qu'il y ait 2 fois le même numéro.
Qui peut me donner la formule???
Merci
 
Dernière édition:

Kotov

XLDnaute Impliqué
Re : générer une série de nombres aléatoire

Bonsoir,

Un exemple MANUEL possible pour illuster le principe :
Dans la colonne A, places tous les noms
En face de chaque nom dans la colonne B, tu places la formule ALEA: =ALEA()
Tu tries les colonnes A et B (tri principal = le nombre aléatoire, tri secondaire = le tri sur le nom, au cas ou 2 nombres aléatoires seraient identiques)

Dans la colonne C, il ne te reste qu'à incrémenter le classement (de 1 à 1000) et effacer la colonne B

Si tu utilises régulièrement de classement, c'est pas un problème de le développer en VBA.
On en reparles demain si tu veux, j'arrête VBA ce soir, y'a Rugby !

A +
Kotov
 

Excel-lent

XLDnaute Barbatruc
Re : générer une série de nombres aléatoire

Slt Jardin95,

La formule brute est :
Code:
=[COLOR="Red"]TRONQUE([/COLOR]ALEA()*1000[COLOR="Red"];0)[/COLOR]+1

A te lire, j'en ai déduit que tu voulais un nombre entier. Si ce n'est pas le cas, supprimer les caractères en rouge.

Pour le problème de doublons, a première vue, il faudrait utiliser VBA.
 

jardin95

XLDnaute Nouveau
Re : générer une série de nombres aléatoire

Merci Kotov et Excel-lent
La fonction de Excel-lent fonctionne sauf qu'il y a effectivement des doublons.
Celle de Kotov est parfaite. Le seul problème c'est qu'il y a de la manipulation...
Vous me parlez de VBA, à vrai dire je sais juste que ça existe... si il y a une solution facilement adaptable pour un novice... je suis preneur.
@+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : générer une série de nombres aléatoire

Bonsoir



Un code VBA tout prêt tout beau

(qui n'est pas de moi)



Voir détail dans le module

La formule contient trois paramètres:

Mini
Maxi
Nombre de chiffres à générer


Bon test


Staple
 
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : générer une série de nombres aléatoire

Bonjour à tous,

Le BONJOUR aussi à jardin95,

Tu mets tes noms en colonne A (et tes prénoms si tu le souhaites en B)

Tu mets le nombre de lignes souhaitées en F1

Tu colles le Module1 et le Module2 dans ton fichier et tu lances la macro "Tirage" par Alt F8 ou un bouton auquel tu associes la macro "Tirage"

Si tu souhaites figer les Noms et "jouer" sur les Tirages mets Call Tri en commentaire par ajout d'un '

Code:
Sub Tirage()
' Tirage aléatoire sans doublons
    Dim Tab1(), Nombre%, Limite%
    Application.ScreenUpdating = False
    [C2:C65000].ClearContents
    [F1].Select
    Nombre = [F1].Value + 1
    Limite = Nombre
    Aleatoire Nombre, Limite, Tab1
    Range("C2:C" & Nombre).Value = Application.Transpose(Tab1)
  [COLOR="Blue"][SIZE="4"][B] ' [/B][/SIZE]Call Tri[/COLOR]
    End Sub



Bonne soirée
 

Staple1600

XLDnaute Barbatruc
Re : générer une série de nombres aléatoire

Bonsoir


Avec un peu de retard

attention: temps d'éxécution long (chez moi > 1 minute)

edit: on me signale des doublons

(pourtant je les ai pas invité) - désolé


Bonne soirée


Staple
 
Dernière édition:

Excel_lent

XLDnaute Impliqué
Re : générer une série de nombres aléatoire

Bonsoir à tous et aux autres,

Avec beaucoup de retard, une autre solution (très proche de celle de Kotov) si une colonne est disponible.
J'ai un message d'erreur sur le mot rouge avec ton code JCGL
Code:
Sub Tirage()
' Tirage aléatoire sans doublons
    Dim Tab1(), Nombre%, Limite%
    Application.ScreenUpdating = False
    [C2:C65000].ClearContents
    [F1].Select
    Nombre = [F1].Value + 1
    Limite = Nombre
   [B][COLOR=Red] Aleatoire[/COLOR][/B] Nombre, Limite, Tab1
    Range("C2:C" & Nombre).Value = Application.Transpose(Tab1)
  [COLOR=Blue][SIZE=4][B] ' [/B][/SIZE]Call Tri[/COLOR]
    End Sub
Je suppose qu'il faut une autre macro (fonction) s'appelant Aleatoire.

Désolé JCGL mais je n'avais pas lu ton message précédent. J'ai donc la solution!
 

Pièces jointes

  • CodeAléatoire.zip
    47.7 KB · Affichages: 144
Dernière édition:

JCGL

XLDnaute Barbatruc
Re : générer une série de nombres aléatoire

Re,

Excel_lent : il y a effectivement une fonction et elle est dans le module1.

Je vérifie sur le fichier posté si elle est présente et je te tiens au courant

A+

Edition : elle est bien dans le Module1, tu as du l'oublier dans le copier/coller arf
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16