[Résolu] Tirage aléatoire sans doublons

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 😎
 
Dernière édition:
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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
223
Réponses
5
Affichages
237
Retour