XL 2016 Liste de nombres aléatoire sans doublon avec quantité variable

Kapel

XLDnaute Nouveau
Bonjour,

Je souhaite créer une liste de nombres aléatoires sans doublons, mais dont la quantité peut varier.
Par exemple, une liste de 45 nombres, puis de 38, puis de 59, etc.
Le but du jeu serait donc qu'en tapant par exemple 45 dans une cellule, 45 nombres s'affichent de manière aléatoire et sans doublons...

Merci de vos réponses
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Kapel,
Ci joint un essai.
Il ne peut y avoir de doublons. J'utilise un tableau avec les nombres de 1 à N, et un second avec des nombres aléatoire.
Puis je trie cette matrice aléatoire en nombres croissants en effectuant les même permutations sur la liste des nombres.
Résultat la liste des nombre est rangée de façon aléatoire. :)
 

Pièces jointes

  • ListeAlea.xlsm
    15.9 KB · Affichages: 13

patricktoulon

XLDnaute Barbatruc
bonjour

une autre méthode

apres avec un dico c'est plus facile a appréhender
VB:
Sub Tirage2()
    Dim maxi&, tablo, dico, x, i&
    Randomize
    maxi = 200
    qte = [Quantité]
    Set dico = CreateObject("scripting.dictionary")
    With [Nombres]
        .ClearContents
        tablo = Application.Transpose(.Resize(qte, 1).Value)
        Do: dico(1 + (Round(Rnd * (maxi - 1)))) = "": Loop Until dico.Count = qte
        .Resize(qte, 1).Value = Application.Transpose(dico.keys)
    End With
End Sub
 

Pièces jointes

  • ListeAlea Vpat.xlsm
    16 KB · Affichages: 12
Dernière édition:

Kapel

XLDnaute Nouveau
Merci pour vos réponses rapides.
C'est exactement ce que je recherchais. Plutôt novice en la matière je n'ai pas trop compris la méthode mais l'essentiel est là, ça marche.
Question subsidiaire cependant, y a-t-il la possibilité d'afficher les nombres sur 2 colonnes, le nombre maximum étant de 66, une première colonne avec 33 donc et une seconde avec le reste, sachant que les quantités peuvent varier de 20 à 66. Cela permettrait d'avoir une vision totale de tous les nombres sans faire défiler l'écran. J'ai essayé mais dans la seconde colonne le tirage ne s'effectue pas

Bien cordialement
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Je souhaite créer une liste de nombres aléatoires sans doublons, mais dont la quantité peut varier.
Par exemple, une liste de 45 nombres, puis de 38, puis de 59, etc.
Le but du jeu serait donc qu'en tapant par exemple 45 dans une cellule, 45 nombres s'affichent de manière aléatoire et sans doublons...
sans macro, sans dictionnaire
1580946560660.png

pour augmenter la quantité au-delà de 100 nombres
étendre les formules en colonnes A et B
 

Pièces jointes

  • Nparmi100.xlsx
    39.6 KB · Affichages: 16
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonsoir Modeste Guedee, une pierre dans mon jardin ? :(
meuh non ... !
c'est une remarque générale,
si l'on n'utilise pas les fonctionnalités de base (feuille de calculs),
aucune consultation !!!
Excel ne se justifie pas d'autre façon alors que pour l'utilisation des graphiques.

d'autres logiciels de programmation sont utilisables et plus performant que VBA
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87