Savoir quand on clic sur une cellule [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 30 août 2010
Statut
Membre
Dernière intervention
17 décembre 2010
-
Messages postés
2
Date d'inscription
lundi 30 août 2010
Statut
Membre
Dernière intervention
17 décembre 2010
-
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

2 réponses

Messages postés
7444
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 juillet 2021
125
Bonjour,
Pour savoir l'adresse de la cellule cliquée, mettre ceci dans la Feuil1 ( ou la feuile où se trouve ton démineur)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    MsgBox Target.Address
   End Sub


@+ Le Pivert
Messages postés
2
Date d'inscription
lundi 30 août 2010
Statut
Membre
Dernière intervention
17 décembre 2010

Merci ! :)