[Résolu] Tirage aléatoire sans doublons

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum,

Un exemple parmi tant d'autres.
Dans l'exemple ce sont 6 numéros, mais vous pouvez étendre la plage à votre guise.


Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("a1")) Is Nothing Then Application.GoTo Range("a1")
Set plage = Range("e2:j2")
Randomize
For i = 5 To 10
1 alea = Int((45 * Rnd) + 1)
If Application.CountIf(plage, alea) Then GoTo 1 Else Cells(2, i) = alea
Next i
End Sub


Edit: 2ème exemple

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("a1")) Is Nothing Then Application.GoTo Range("a1")
Set plage = Range("a5:n5")
Randomize
For i = 1 To 14
1 alea = Int((100 * Rnd) + 1)
If Application.CountIf(plage, alea) Then GoTo 1 Else Cells(5, i) = alea

'Pour vérifier si il y a des doublons
If Application.CountIf(plage, alea) > 1 Then Cells(5, i).Font.ColorIndex = 3
Next i
End Sub


Très bon weekend à tous :cool:
 
Dernière édition:
J

JJ1

Guest
Re : [Résolu] Tirage aléatoire sans doublons

Bonjour Pierre Jean, Roger, Youky
Meilleurs voeux pour 2013 à tous,
Bravo pour ces modifs ( Application.Calculation = xlCalculationAutomatic change effectivement la vitesse) et l'adaptation du code faite par Roger.

Merci beaucoup.
Bonne soirée
 

julie211

XLDnaute Nouveau
Re : [Résolu] Tirage aléatoire sans doublons

Bonjour à tous,

Je suis novice en vba et je n'ai pas été capable de trouver une solution à mon problème malgré de nombreuses discussions sur le sujet.

J'ai une grande base données (plus de 100000 lignes) et je voudrais trouver un moyen de tirer aléatoirement et sans doublon un nombre variable sur une colonne (1000 par exemple) pour les travailler indépendamment dans un autre onglet en copiant les colonnes correspondants.

Je vous joint un exemple du format de ma fiche de travail: je voudrais tirer 300 dossiers sur la colonne C ( référence) aléatoire sans doublons parmi plus de 700 dossiers au total, et après copier coller dans un autre onglet ''feuil4" qui est en même format que "feuil3".

comme j'ai une grande base de donnée, il faudrait peut-être optimiser le temps de tourne le macro.

Merci d'avance pour votre aide.

Cordialement,

Julie
 

Pièces jointes

  • Classeur2.xlsx
    38.6 KB · Affichages: 29
  • Classeur2.xlsx
    38.6 KB · Affichages: 31
  • Classeur2.xlsx
    38.6 KB · Affichages: 34

Statistiques des forums

Discussions
312 231
Messages
2 086 457
Membres
103 217
dernier inscrit
LoshR7