Randomize
Fermé
POPO
-
Modifié le 30 juil. 2020 à 15:34
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 31 juil. 2020 à 16:03
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 31 juil. 2020 à 16:03
5 réponses
1 Dim TT As Byte
Randomize ' La ligne if.....1 n'est pas appliquée au premier click sur command1
( ' Le Form vient d'apparaitre avec des labels prédéterminés)
' Z n'a donc pas encore de valeur
TT = Int((6 * Rnd) + 1) ' Cette ligne n'est donc appliquée qu'au deuxième click.
If TT = Z Then GoTo 1 'Z a pris alors une valeur.
Z = TT
Je pense que c'est l'explication.
En tout cas ça marche
Qu'en penses-tu ?!
Randomize ' La ligne if.....1 n'est pas appliquée au premier click sur command1
( ' Le Form vient d'apparaitre avec des labels prédéterminés)
' Z n'a donc pas encore de valeur
TT = Int((6 * Rnd) + 1) ' Cette ligne n'est donc appliquée qu'au deuxième click.
If TT = Z Then GoTo 1 'Z a pris alors une valeur.
Z = TT
Je pense que c'est l'explication.
En tout cas ça marche
Qu'en penses-tu ?!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 744
31 juil. 2020 à 16:03
31 juil. 2020 à 16:03
Bonjour,
Comme on connais les valeurs, c'est simple.
Exemple vite fait :
Comme on connais les valeurs, c'est simple.
Exemple vite fait :
Sub essaialea() Dim List(1 To 6) As Integer, Resultat(1 To 6) Dim Count As Integer Dim i As Integer, n As Integer, j As Integer 'INITIALISATION VARIABLES For i = 1 To 6 List(i) = i Next Count = 6 Randomize Timer 'TRAITEMENT For n = 0 To Count - 1 i = Int(1 + (Count - n) * Rnd) j = j + 1 Resultat(j) = List(i) List(i) = List(Count - n) Next 'RESTITUTION Dim msg As String For i = 1 To 6 msg = msg & " Résultat(" & i & ") : " & Resultat(i) & vbCrLf Next MsgBox msg End Sub
yg_be
Messages postés
22724
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 avril 2024
1 476
30 juil. 2020 à 16:07
30 juil. 2020 à 16:07
bonjour,
c'est un peu comme quand tu lances un dé: comment éviter de retomber sur une face où il est déjà tombé?
dans quel contexte fais-tu ce travail? que veux-tu réellement obtenir?
ne suffit-il pas de cliquer quelques fois de plus?
c'est un peu comme quand tu lances un dé: comment éviter de retomber sur une face où il est déjà tombé?
dans quel contexte fais-tu ce travail? que veux-tu réellement obtenir?
ne suffit-il pas de cliquer quelques fois de plus?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il s'agit de modifier des labels ( contenant chacun un vers) en fonction du tirage aléatoire.
Evidemment je peux clicker plusieurs fois mais ça donne un sentiment de blocage et d'imperfection.(Il s'agit de "poésies")
C'est pas possible de repatrir à chaque click sur une valeur différente de la précédente ?
Evidemment je peux clicker plusieurs fois mais ça donne un sentiment de blocage et d'imperfection.(Il s'agit de "poésies")
C'est pas possible de repatrir à chaque click sur une valeur différente de la précédente ?
yg_be
Messages postés
22724
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 avril 2024
1 476
30 juil. 2020 à 17:14
30 juil. 2020 à 17:14
c'est bien sûr possible.
comment ferais-tu avec un dé?
comment ferais-tu avec un dé?
30 juil. 2020 à 17:32
En gros...
1 - Tu jettes le Dé....
2 - Tu mémorise sa valeur...
3 - Tu jettes à nouveau le Dé ... tu le compares à la valeur précédente...
Si identique.. .... et retour à l'étape 1
Si différent.. tu fais ce que tu as à faire... et retour à l'étape 1
30 juil. 2020 à 21:58
dans un cas comme dans l'autre, c'est à toi de résoudre l'exercice et de trouver comment programmer cela.