begin process at 2012 02 14 18:55:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Fonction Random ! Rnd ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction Random ! Rnd ?

vendredi 4 janvier 2008 à 14:51:41 | Fonction Random ! Rnd ?

robapt

Bonjour à tous !

Voila, je fais un petit prog qui utilise la fonction Rnd et je voudrais savoir un truc.
Voici mon code :

Randomize
List1.AddItem Int((50 * Rnd) + 1)


Je n'est pas marqué tout le code mais en fait,j'ajoutte 10 nombre au hazard dans la listbox List1.
Comment faire pour que si le même nombre est tiré 2 fois ou plus, cela refase un Random juste pour les nombre identique ?

Merci à tous
vendredi 4 janvier 2008 à 14:58:11 | Re : Fonction Random ! Rnd ?

jmfmarques

Membre Club
Réponse acceptée !
"Comment faire pour que si le même nombre est tiré 2 fois ou plus, cela refase un Random juste pour les nombre identique ?"

Je ne comprends pas ...
Veux-tu simplement dire que tu bne veuxpas que le même nombre sorte 2 fois ?
Si oui : il ne faut pas "retirer" (ce n'est pas la meilleure méthode, qui risque de s'avérer lente) mais "éliminer" le nombre déjà tiré ...
vendredi 4 janvier 2008 à 15:05:15 | Re : Fonction Random ! Rnd ?

robapt

oui c'est sa! Désolé si j'ai été un peu flou dans mes explications! lol
Bon ok je vais faire mes recherche sur ce fameux "retirer"! ^^
Bon ben merci beaucoup jmfmarques !

Bon prog
vendredi 4 janvier 2008 à 15:07:41 | Re : Fonction Random ! Rnd ?

PCPT

Administrateur CodeS-SourceS
Réponse acceptée !
salut,

peut de modifications à apporter par rapport à ce snippet :
http://www.codyx.org/snippet_recuperer-aleatoirement-valeur-unique-tableau_348.aspx#1098

Function GetSingleValue(ByRef aArr() As String, sResult As String) As Boolean
    If UBound(aArr) = Then
'       reste  rien
        GetSingleValue = False
    Else
        GetSingleValue = True
        
'       on récupère  un index
        Dim Index As Long
        Index = Int((UBound(aMyArray) * Rnd) + (LBound(aMyArray) + 1))
'       on récupère la  valeur
        sResult = aArr(Index)
'       on  écrase la position par la dernière valeur et on supprime la dernière  position
        aArr(Index) = aArr(UBound(aArr))
        ReDim Preserve aArr(UBound(aArr) - 1)
    End If
End Function

'   EXEMPLE  D'UTILISATION (nécessite un bouton et une textbox)
Option Explicit
Dim aMyArray() As String 'attention, la premier index (0 ici) ne sera pas utilisé
'
'
Private Sub Form_Load()
'   applique le facteur "aléatoire"
    Randomize Timer
    
'   redimension et remplissage du tableau
    Dim As Long
    ReDim aMyArray(To 10)
    For i = LBound(aMyArray) + To UBound(aMyArray)
        aMyArray(i) = "chaîne [" CStr(i) & "]"
    Next i
'   pour le test....
    Text1.Width = 2895
    Text1.Text = vbNullString
End Sub
'
'
Private Sub Command1_Click()
    Dim sRet As String
    If GetSingleValue(aMyArray, sRet) Then
        Text1.Text = sRet
    Else
        Text1.Text = "Toutes les valeurs ont  été piochées"
    End If
End Sub

++
PCPT  [AFCK]

Prenez un instant pour répondre à ce sondage svp
vendredi 4 janvier 2008 à 15:12:41 | Re : Fonction Random ! Rnd ?
vendredi 4 janvier 2008 à 15:42:22 | Re : Fonction Random ! Rnd ?

jmfmarques

Membre Club
Réponse acceptée !

Tiens...

Avec un tableau et sans le redimensionner :

Private Sub Command1_Click()
 Randomize Timer
 Dim monnombre As Integer, combien As Integer, i As Integer, nb As Integer
 monnombre = 20  ' ici ton nombre max
 combien = 5 ' ici le nombre de tes titages (qui doit être inférieur ou égal à monnombre)
 ReDim montable(monnombre - 1)
 For i = 0 To monnombre - 1
   montable(i) = i + 1
 Next
 nb = UBound(montable)
 Dim ou As Integer, temp As String
 For i = 0 To nb \ 2
   ou = Int(((nb - i) * Rnd))
   temp = montable(ou)
   montable(ou) = montable(nb - i)
   montable(nb - i) = temp
 Next
 List1.Clear
 For i = 1 To combien
   List1.AddItem montable(i - 1)
 Next
End Sub

Ajoute une listbox list1 et un bouton Commande1
Fixe comme tu l'entends les valeurs de monnombre et de combien

 

lundi 21 juin 2010 à 16:13:30 | Re : Fonction Random ! Rnd ?

zialex

Bonjour jmfmarques,

J'ai copier ton codes pour générer un numéro aléatoire entre 100000000 et 999999999,
J'ai donc remplacé monnombre = 20 par monnombre = 999999999 et conbien = 5 par conbien = 100000000 et quand je clique sur mon bouton générer il me dit "érreur d'exécution '6'" > Dépassement de capacité.
Sa te dit quelque chose? ...
Et je voulait savoir si ton codes comme parlait plus haut par robapt répètai l'opération si le numéro éxistai déja?

Merci.
lundi 21 juin 2010 à 16:55:42 | Re : Fonction Random ! Rnd ?

zialex

Re Bonjour,
Laissez tombé J'ai d'autre probleme avec mon codes et mon projet, et désoler pour l'ortographe et le vous vois !!!


Cette discussion est classée dans : fonction, nombre, code, rnd, random


Répondre à ce message

Sujets en rapport avec ce message

problème avec la fonction rnd (randomize) [ par kleuvert ] Salut !Voilà, j'ai un gros souci avec la fonction randomize : je veut en fait créer une petite fonction qui me donne un jours dans l'année au hasard, fonction random ? [ par elfingord ] Salut tlm,je suis débutant en vb (eh oui tjs) et j'aimerais savoir s'il existe une fonction qui permet de générer un nombre au hasard Si oui, pourrai Random [ par sebleboss2002 ] Voilà, j'ai bien l'impression d'avoir un problème... Je suis en train de coder un Yams, avec cinq dés donc, et je trouve que les chiffres qui sortent fonction Rnd [ par greg33170 ] Bonjour, J'utilise la fonction Rnd afin de générer sur un ensemble donnée de nombre plusieurs nombres aléatoires. Jusqu'ici tout va bien mais j'aimer [Catégorie modifiée VB6 -> VBA] Fonction RECHERCHEV [ par micku2b ] Bonjour, Je n'arrive pas à faire marcher cette fonction: [code=vb] WorksheetFunction.VLookup(Long_Ferm, tabmono, 1) [/code] la fonction a bien l'in VB et les execption [ par abdobergach ] bonjour j'ai créé une fonction CBstatus() en VB.net et un timer qui fais l'appel à cette fonction chaque 10 ms cette fonction permet de recupérer des Nombre aléatoire [ par kakahouette ] Bonjour à tous, je souhaiterai afficher dans une textbox un nombre aléatoire mais pas si aléatoire que ça. J'utilise visual studio 2008. Ce nombre do tracer courbe fonction [ par daroka ] salut, svp j'aimerais que quelqu'un m'aide avec un code ou exemple de code pour le trcer d'une fonction (rampe, impulsion de dirac, echelon unitaire, appel d'une fonction [ par Mathioustone ] Bonjour à tous, j'ai un appel de fonction qui est le suivant: [code=vb]If Secteur = 1 Then chiffre = calcul(cumac) ElseIf


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales