Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Chveitsarski

XLDnaute Nouveau
Salut à tous,

Tout est dans le titre
Mais pour être plus clair, je dois faire apparaître une dizaine de chiffres aléatoire, et dans tout ces nombres, il ne dois pas y avoir de doublon...
Ca fait un moment que je bloque la dessus... Si quelqu'un avait une solution ?

Merci à tous !
 

JCGL

XLDnaute Barbatruc
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Bonjour à tous,

Un essai avec un code de Spit (je crois...)

A+ à tous
 

Pièces jointes

  • JC Tirage Aleatoire.zip
    9.4 KB · Affichages: 223

excalibur

XLDnaute Impliqué
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

bonjour Chveitsarski JCGL leforum une variante a adapter

beau temps aujourd hui a chamrousse jc ??
 

Pièces jointes

  • alea.zip
    10.8 KB · Affichages: 123
  • alea.zip
    10.8 KB · Affichages: 126
  • alea.zip
    10.8 KB · Affichages: 134

job75

XLDnaute Barbatruc
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Bonjour Chveitsarski, salut JCGL, excalibur

Puisque j'ai fait le travail, voici le fichier et la macro :

Code:
Sub Alea50()
Dim n As Byte, c As New Collection, al As Byte, i As Byte
n = 10 ' quantité de nombres aléatoires désirés
If n > 50 Then MsgBox "Impossibilité": Exit Sub
On Error Resume Next
While c.Count < n
al = Int(1 + 50 * Rnd)
c.Add al, CStr(al)
Wend
For i = 1 To n
Range("A" & i) = c(i)
Next
End Sub

A+
 

Pièces jointes

  • Classeur1.xls
    30.5 KB · Affichages: 203
  • Classeur1.xls
    30.5 KB · Affichages: 197
  • Classeur1.xls
    30.5 KB · Affichages: 192
Dernière édition:

Chveitsarski

XLDnaute Nouveau
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Merci pour ta réponse rapide, mais malheureusement j'obtiens des doublons...

En fait j'ai 5 colonnes, et ces 5 doivent avoir 5 chiffres de 1 à 50 sans doublons..
Mais La colonne 1 peut avoir "10" par exemple, et la colonne 3 peut également l'avoir...

A+
 

JCGL

XLDnaute Barbatruc
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Bonjour à tous,
Salut Excalibur (Grand beau sur Cham : neige ++, soleil ++)
Salut Job

Tu aurais du donner toutes les condition dès le départ...
J'ai fait par lignes et elles sont sans doublons

A+ à tous
 

Chveitsarski

XLDnaute Nouveau
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Oui excuse, je n'ai pas été clair...
Mais j'ai essayé ton programme JCGL, et ça fonctionne.. presque
Parce que justement j'aimerai que ça soit par colonne et non par ligne le tri..
Qu'est-ce que je dois modifier ?

Encore merci !
 

job75

XLDnaute Barbatruc
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

Re,

Donc pour un tableau 5 x 5, sans doublon dans chaque colonne.

J'utilise 2 macros et déclare Public la collection :

Code:
Public c As New Collection

Sub RemplissageAleatoire()
Dim lig As Byte, col As Byte
For col = 1 To 5
Call Alea50
For lig = 1 To 5
Cells(lig, col).Value = c(lig)
Next
Set c = Nothing
Next
End Sub

Sub Alea50()
Dim n As Byte, al As Byte
n = 5 ' quantité de nombres aléatoires désirés
If n > 50 Then MsgBox "Impossibilité": Exit Sub
On Error Resume Next
While c.Count < n
al = Int(1 + 50 * Rnd)
c.Add al, CStr(al)
Wend
End Sub

A+
 

Pièces jointes

  • Classeur1.xls
    32 KB · Affichages: 167
  • Classeur1.xls
    32 KB · Affichages: 169
  • Classeur1.xls
    32 KB · Affichages: 173

Chveitsarski

XLDnaute Nouveau
Re : Faire apparaître des chiffres aléatoire de 1 à 50 sans doublon

J'ai été un peu rapide

J'ai trouvé...

En ayant modifié le code ainsi :


Encore un grand merci et une bonne soirée avec la neige
 

Discussions similaires

Réponses
2
Affichages
346
Réponses
9
Affichages
316
Réponses
21
Affichages
1 K
Réponses
3
Affichages
604
Réponses
8
Affichages
473
Réponses
2
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…