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ée la grille, j'affiche 10x10 cases grises, et je place mes mines dans mon tableau, jusque là ça va.
Mais comment savoir quand l'utilisateur clique sur telle ou telle case ? (Ou simplement quand une de ces cases est activée).
Comme ça 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 à cliqué que je bloque.
Ça peut être aussi la case active, en supposant que l'utilisateur ne jouera pas à Démineur avec les flèches directionnelles (de toute façon y a pas vraiment d'utilisateur heinC'est pour apprendre
).
Merci !
PS : voici mon code pour l'instant :
Code VBA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 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
Partager