Tirage aléatoire avec VB

missa27 Messages postés 7 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 21 novembre 2008 - 20 nov. 2008 à 16:24
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 - 21 nov. 2008 à 07:16
Bonjour !
je veux développer une application en VB qui va gérer des tirages aléatoires sans remise.
D'abord jai une feuille excel (Feuil1) avec une colonne (colonne A) qui contient des nombres à 8 chiffres (68521541, 52154785, 59652314, etc...).


Le tirage porte sur cette colonne; mais le nombre de ligne n'est pas connu, donc peut varier. Donc il faut d'abord compter le nombre de ligne qui contiennent des données, faire le tirage sur ces nombres.


Après les différents tirages, les résultats doivent etres stockés dans une autre feuil.


Aider moi, s'il vous plait.

6 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
20 nov. 2008 à 16:31
salut,

t'aider sur le code actuel bien sûr, tu peux le fournir stp

PS : valeurs dans excel ok, mais tu es en VB6 ou VBA ?!

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
dedenet2 Messages postés 372 Date d'inscription vendredi 27 juillet 2007 Statut Membre Dernière intervention 22 juillet 2013 2
20 nov. 2008 à 18:53
Bonsoir,

Pour génerer des nombres à 8 chiffres avec Excel:
Dim N
N = Int(100000000 * Rnd)

A+
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
20 nov. 2008 à 19:58
Et randomize ?
Niet ?
(Il ne servirait pas à assurer un peu mieux le caractère aléatoire ?)


Mais ce n'est pas ce qu'a voulu dire PCPT !


Où est donc le dode (ou ta tentative) du restye (l'essentiel, en fait) et dont tu parles toi-même :
citation (de toi) :
"Donc il faut d'abord compter le nombre de ligne qui contiennent des données, faire le tirage sur ces nombres"
Ce ne sera qu'après que tu pourras t'intéresser au tirage aléatoire, pas avant !
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
21 nov. 2008 à 01:44
Bonjour

jfm0, tu ne serais pas en train d'enguirlander missa27 pour un message envoyé par ... dedenet2 ?

Tu me copieras 100 fois :

            je dois lire les messages avant de répondre, et non l'inverse

Attention, je suis sur un méga logiciel capable de détecter si tu as fais fait des copier-coller (il est presque au point, puisque j'ai déjà défini toutes mes variables) 


Bon, maintenant, pour compter le nombre de lignes non vides dans la colonne A, on peut faire

Function compteur As Integer
   Dim r as Range
   Set r = Range("A1")
   Do Until r.Value = ""
      Set r = r.Offset(1,0)
   Loop
   compteur = r.Row - 1
   MsgBox compteur
End Function

Amicalement à tous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
21 nov. 2008 à 01:59
Oups, j'ai fait une faute d'orthographe : il faut lire si tu as fait, et non si tu as fais.

Cela m'inspire un nouveau proverbe :

            Le fait est au fais ce que la fête est à la fesse.

Je trouve que ça sonne bien, même si le sens m'échappe un peu...
0
pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
21 nov. 2008 à 07:16
orohena  il y a plus simple

Si tu veux savoir combien de lignes il y a dans une colonne particulière (ici B)
     nbLignes = Columns("B:B").Find("*", Range("B1"), , , xlByRows, xlPrevious).Row  

sinon pour trouver la derniere ligne du tableau contenant une donnée
faut partir d'en bas et remonter :
    Range("A65536").End(xlUp).Row

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
0
Rejoignez-nous