Tirage aléatoire sans remise et avec taille de tirage variant
Résolu/Fermé
Jack_88
Messages postés
1
Date d'inscription
jeudi 4 juillet 2013
Statut
Membre
Dernière intervention
4 juillet 2013
-
4 juil. 2013 à 17:06
romain - 3 août 2016 à 08:41
romain - 3 août 2016 à 08:41
A voir également:
- Tirage sans remise excel
- Tirage aléatoire excel sans doublon ✓ - Forum Excel
- Remise a zero pc - Guide
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Vba tirage aléatoire sans doublon ✓ - Forum Excel
- Tirage aléatoire ✓ - Forum Programmation
3 réponses
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
Modifié par michel_m le 5/07/2013 à 08:33
Modifié par michel_m le 5/07/2013 à 08:33
Bonjour,
..." J'ai donc repris le programme donné ici précédement "...
Ou çà ? Il y a quelques 14 800 discussions dans le forum VB/VBA :o)
principe de tirage sans remise à adapter à ton contexte par macro paramétrée
Michel
..." J'ai donc repris le programme donné ici précédement "...
Ou çà ? Il y a quelques 14 800 discussions dans le forum VB/VBA :o)
principe de tirage sans remise à adapter à ton contexte par macro paramétrée
Sub tirer_sans_remise(nbre, plage, retour)
Dim Dico As Object, Popu As Byte,Col as Byte, Tirage As Double
If nbre = "" Then GoTo vide
Set Dico = CreateObject("scripting.dictionary")
Popu = Range(plage).Count
Col = Range(plage).Column
Randomize
While Dico.Count < nbre
Tirage = Cells(Int(Rnd * Popu) + 1, Col)
If Not Dico.exists(Tirage) Then Dico.Add Tirage, ""
Wend
Range(retour).Resize(nbre, 1) = Application.Transpose(Dico.keys)
Exit Sub
vide:
MsgBox "nombre de sélectonnés vide", vbCritical
End Sub
Sub test1()
tirer_sans_remise [D2], "A1:A70", "G1"
End Sub
Sub test2()
tirer_sans_remise [D3], "A72:A111", "H1"
End Sub
Michel
Bonjour,
Merci beaucoup pour cette réponse!
Et désolé pour le ..." J'ai donc repris le programme donné ici précédement "... , surtout que j'en ai perdu le lien...:s
Je vais essayer cela et j'espère pouvoir l'adapter.
Merci encore et bonne journée!
Merci beaucoup pour cette réponse!
Et désolé pour le ..." J'ai donc repris le programme donné ici précédement "... , surtout que j'en ai perdu le lien...:s
Je vais essayer cela et j'espère pouvoir l'adapter.
Merci encore et bonne journée!
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
7 mars 2023
3 291
5 juil. 2013 à 10:42
5 juil. 2013 à 10:42
re,
Si tu étais inscrit, on le retrouverait facilement; donc.... :o)
Si tu étais inscrit, on le retrouverait facilement; donc.... :o)
Re,
Super ce petit programme! Marche très bien.
Par contre juste une chose:
Sub test1()
Call tirer_sans_remise([D2], "A1:A40", "G1")
End Sub
Sub test2()
Call tirer_sans_remise([D3], "A42:A70", "H1")
End Sub
Le problème est que quand j'appel le test2, il me prend quand même les valeurs de de "A1:A40" et non celle de "A42:A70"...
Pourquoi?
Mais merci encore, sincérement!
Super ce petit programme! Marche très bien.
Par contre juste une chose:
Sub test1()
Call tirer_sans_remise([D2], "A1:A40", "G1")
End Sub
Sub test2()
Call tirer_sans_remise([D3], "A42:A70", "H1")
End Sub
Le problème est que quand j'appel le test2, il me prend quand même les valeurs de de "A1:A40" et non celle de "A42:A70"...
Pourquoi?
Mais merci encore, sincérement!
Bonjour,
Merci pour votre code qui m'ai très utile!!!
J'ai cependant un petit souci, je fais mon tirage sur sur plage allant de B8 à la dernière ligne de la colonne B, mais le tirage me retourne des valeurs se trouvant également entre B1 et B7...
Avez-vous une idée d'où peut provenir le problème?
Je vous remercie pour votre aide.
Merci pour votre code qui m'ai très utile!!!
J'ai cependant un petit souci, je fais mon tirage sur sur plage allant de B8 à la dernière ligne de la colonne B, mais le tirage me retourne des valeurs se trouvant également entre B1 et B7...
Avez-vous une idée d'où peut provenir le problème?
Je vous remercie pour votre aide.