Emil34730
Messages postés2Date d'inscriptionlundi 30 août 2010StatutMembreDernière intervention17 décembre 2010
-
17 déc. 2010 à 10:39
Emil34730
Messages postés2Date d'inscriptionlundi 30 août 2010StatutMembreDernière intervention17 décembre 2010
-
17 déc. 2010 à 12:26
Salut à tous !
Je m'initie en ce moment à VBA avec Excel. J'utilise des tutos à droite à gauche, j'utilise aussi beaucoup google.
Il me semble avoir beaucoup cherché, mais je n'ai finalement rien trouvé pour cette question qui me parait pourtant fondamentale. Bref, si ma question est nulle, je m'en excuse
Mon premier TP perso consiste a créer un démineur avec Excel ^^
Donc pour l'instant je créé la grille, j'affiche 10x10 cases grises, et je place mes mines dans mon tableau, jusque là ca va.
Mais comment savoir quand l'utilisateur clic sur telle ou telle case ? (Ou simplement quand une de ces cases est activée)
Comme ca je pourrais renvoyer la valeur de la case à une fonction, qui va voir s'il y a une mine ou pas, et ce qu'il faut afficher, et qu'il l'affiche.
Donc pour tout le reste, je devrais y arriver, mais c'est juste pour récupérer la case sur laquelle l'utilisateur à cliquer que je bloque.
Ca peut être aussi la case active, en supposant que l'utilisateur ne jouera pas à Démineur avec les flèches directionnelles (De toute facon y a pas vraiment d'utilisateur hein C'est pour apprendre )
Merci !
PS : Voici mon code pour l'instant :
Sub init()
Dim Grille(1 To 10, 1 To 10) As Integer
For i = 1 To 10
For j = 1 To 10
Grille(i, j) = 0
Next
Next
Dim Count As Integer
Count = 0
While Count < 10
x = Int(Rnd() * 10) + 1
y = Int(Rnd() * 10) + 1
If Grille(x, y) = 0 Then
Grille(x, y) = 1
Count = Count + 1
End If
Wend
For i = 1 To 10
For j = 1 To 10
Cells(i, j).Borders.Weight = xlThin
Cells(i, j).Borders.Color = RGB(100, 100, 100)
Cells(i, j).Interior.Color = RGB(190, 190, 190)
Next
Next
End Sub