Débutant à des problèmes pour générer des nombre de façon aléatoire... à l'aide [Résolu]

Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
- - Dernière réponse : zwarul
Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
- 9 juil. 2005 à 13:05
Bonjour je débute tout juste dans la programmation et j'ai un petit problème:
bon par exemple si je veu simuler un clic de souris se trouvant aux coordonées (575,377) j'ai trouvé qui fallai faire cela:
Private Sub Command1_Click()

SetCursorPos 575, 377
mouse_event MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

End Sub
Mais ce que je veu maintenant c'est que le clic soit fait au hasard dans une zone délimité ; du style un rectangle ayant sont coin haut droit aux coordonées (150,200) et son coin bas gauche aux coordnées (300,400).

Faut il déclarer des variables pour remplacer x et y dans SetCursorPos x, y
et donner à ces variables des valeur aléatoires situés, entre 150 et 300 pour x, et entre 200 et 400 pour y?

Mais mon principale problème c'est que je ne sait pas comment mettre cela en forme car pour commencer je ne sait pas faire choisir une valeur àléatoire ... et non plus mettre en forme l'utilisation de variable a la place de x et y...ou je suis pas trés sur de mon coup alors si vous vous l'êtes svp fette moi gagner un temps précieu merci

SVP de l'aide ......

Si quelqu'un pouvait me répondre un petit bou de code merci
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006
3
Merci
slu



x1,y1,x2,y2 les bornes du rectangles



randomize 'reinitialise le generateur de nombre aleatoire

SetCursorPos int(rnd * (x2-x1))+x1 , int(rnd * (y2-y1))+y1



en fait : rnd genere un nombre aléatoire compris entre 0 et 1, apres c'est des maths :)



A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 6032 internautes nous ont dit merci ce mois-ci

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
19
3
Merci
Dim X As Long

Dim Y As Long

Dim min As Long

Dim max As Long



Min = x1

Max = x2

X = Rnd * (Max - min) + min

Min = y1

Max = y2
Y = Rnd * (Max - min) + min



SetCursorPos X , Y


Daniel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 6032 internautes nous ont dit merci ce mois-ci

Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006
0
Merci
C'est un petit peu ce que j'ai mis


A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
19
0
Merci
à un petit détail prés:

à cause de la présence de int la valeur de X n'atteindra jamais le maxi
int (Rnd*n) donne des valeurs de 0 à n-1


Daniel
Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006
0
Merci
oué c'est vrai, mais toi tu genere un décimal, bon vb le convertir en entier tout seul mais bon :)

compromis :



SetCursorPos int(rnd * (x2-x1+1))+x1 , int(rnd * (y2-y1+1))+y1



(supposant x2>x1 et y2>y1)


voili voilou

A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
19
0
Merci
Salut,



c'est vrai que rajouter un message qui répète le même chose ça sert à rien.

mais bon comme il y a pas grand chose à faire en ce moment faut bien trouver quelque chose à dire.

alors que pourrais-je dire de plus ?

Rnd renvoit un Single

c'est tout ce que j'ai pour l'instant

Daniel
Messages postés
35
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
3 août 2008
0
Merci
merci beaucoup à vous deux