IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Savoir quand on clique sur une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut Savoir quand on clique sur une cellule
    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 hein C'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

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour,

    l'événement Worksheet_SelectionChange peut t'y aider

    exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        MsgBox Target.Address & " = " & Target.Value
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut
    Merci

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut
    Mon démineur est terminé, il ne lui manque plus que quelques petites améliorations.

    Par exemple, peut-on détecter un clic droit et faire en sorte que le menu déroulant ne s'ouvre pas, mais plutôt qu'on déclenche une macro de notre choix ?

    Merci !

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Call TaMacro
    End Sub

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2009
    Messages : 104
    Par défaut ClikDroit
    Bonjour Emilien

    Cette SUB dans la section ThisWorkbook fonctionne bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
     
        'Désactive le menu contextuel
        Cancel = True
    End Sub
    Salut

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 6
    Par défaut
    Merci à tous les deux !

    Le soucis c'est que ca désactive le clic droit sur toute la feuille. Est-il possible de le désactiver uniquement sur une partie de la feuille ? (Range("A1:J10") dans mon cas)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Jouer de la musique quand on clique sur une image
    Par willyboy33 dans le forum Débuter
    Réponses: 1
    Dernier message: 26/01/2014, 01h58
  2. [XL-2007] Lancer une macro lorsque l'on clique sur une cellule
    Par catetesse dans le forum Excel
    Réponses: 3
    Dernier message: 28/09/2012, 12h57
  3. Popup personalisé qui s'ouvre quand on clique sur une pub.
    Par XpFive dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/06/2009, 10h02
  4. Quand on tire sur une cellule
    Par Mag007 dans le forum Excel
    Réponses: 4
    Dernier message: 07/08/2008, 22h41
  5. si on double clique sur une cellule, un "X" apparait
    Par rsoul dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/06/2008, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo