Marquer un case sur un jeux en excel vba

clovis7 Messages postés 20 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 21 mai 2008 - 2 avril 2006 à 18:36
clovis7 Messages postés 20 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 21 mai 2008 - 2 avril 2006 à 19:39
Bonjour à tous,



Je me suis lancé dans la programmation d'un petit jeux de plateau (type trivial poursuite).

Une petite description :

Il y a 3 types de cases (rose, jaune,vert), à chaque couleur correspond un thème de question.

Mes cases correspondent à des rectangles de couleur auxquels j'ai
associé 3 macros différentes : celle pour les questions roses, celle
pour les questions jaunes et celle pour les questions vertes.

Chaque macro selectionne une feuille différente de mon classeur excel
et affiche une question aléatoirement en faisant un saut de page (c'est
le nombre de pages sautées qui est aléatoire)



Cela tourne bien, maintenant j'aimerais "marquer" la rectangle sur
lequel clique le joueur. Le top serait d'avoir un petit rond de couleur
(comme un pion) mais je ne sais pas si cela est possible. Sinon griser
le rectangle ou autre...



Quelqu'un aurait-il une idée de la façon dont il faut que je procède ?



Merci beaucoup pour votre aide !

3 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
2 avril 2006 à 18:54
Bonjour,




[mk:@MSITStore:D:\Mes%20scripts%20vbs\SCRIPT56.CHM::/html/vtoriversioninformation.htm ]

<!--NONSCROLLING BANNER END-->


Initialise le générateur de nombres aléatoires.

Randomize [number]


L'argument number représente toute expression numérique valide.


<H4 class= dtH4>Notes

L'instruction Randomize utilise l'argument number pour initialiser le générateur de nombres aléatoires de la fonction Rnd, en lui donnant une nouvelle valeur initiale. Si vous omettez l'argument number, la valeur renvoyée par l'horloge système est utilisée comme nouvelle valeur initiale.


Si l'instruction Randomize n'est pas utilisée, la fonction Rnd (sans argument) utilise le même nombre comme valeur initiale la première fois qu'elle est appelée, et utilise ensuite le dernier nombre généré comme valeur initiale.


Remarque Pour répéter des séquences de nombres aléatoires, appelez l'instruction Rnd avec un argument négatif immédiatement avant d'utiliser Randomize avec un argument numérique. Utiliser Randomize avec la même valeur pour number ne répète pas la séquence précédente.
L'exemple ci-dessous illustre l'utilisation de l'instruction Randomize.

Dim MyValue, Response
Randomize
' Initialise le générateur de nombres aléatoires.
Do Until Response = vbNo
MyValue = Int((6 * Rnd) + 1) ' Génère une valeur aléatoire entre 1 et 6.
MsgBox MyValue
Response = MsgBox ("Recommencer? ", vbYesNo)
Loop

</H4>
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
2 avril 2006 à 18:57
Bonjour ,

Désolé pour le copier/coller précédant.

Dim MyValue, Response
Randomize ' Initialise le générateur de nombres aléatoires.
Do Until Response = vbNo
MyValue = Int((6 * Rnd) + 1) ' Génère une valeur aléatoire entre 1 et 6.
MsgBox MyValue
Response = MsgBox ("Recommencer? ", vbYesNo)
Loop

jean-marc
0
clovis7 Messages postés 20 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 21 mai 2008
2 avril 2006 à 19:39
Le petit algorithme que tu m'as donné Jean-Marc donne un nombre
aléatoire entre 1 et 6, soit dans le cadre d'un jeux, il simule un
lancer de dé.

Moi ce que j'aimerais c'est simuler un pion, faire en sort que la mon programme mémorise la case (le rectangle) sur lequel se trouve le joueur.

Merci pour ta réponse rapide mais ça ne me débloque pas

Remarque, je suis totalement débutant donc peut-être que je comprends très mal ta réponse...
0
Rejoignez-nous