Savoir quand on clic sur une cellule

Résolu
Emil34730 Messages postés 2 Date d'inscription lundi 30 août 2010 Statut Membre Dernière intervention 17 décembre 2010 - 17 déc. 2010 à 10:39
Emil34730 Messages postés 2 Date d'inscription lundi 30 août 2010 Statut Membre Dernière intervention 17 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

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
17 déc. 2010 à 11:31
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
3
Emil34730 Messages postés 2 Date d'inscription lundi 30 août 2010 Statut Membre Dernière intervention 17 décembre 2010
17 déc. 2010 à 12:26
Merci ! :)
0
Rejoignez-nous