Supriyo a demandé s’il y avait un gestionnaire d’événements de souris dans VBA. Il veut qu’une valeur soit insérée dans une cellule lorsque cette cellule est cliquée.

La manière standard de procéder consiste à utiliser l’événement SelectionChange. Chaque fois que la sélection change dans la feuille de calcul, l’événement est déclenché. L’événement ne se déclenche pas seulement quand une cellule est cliquée, mais aussi si quelqu’un appuie sur une touche de contrôle du curseur qui entraîne la sélection d’une cellule différente.

À titre d’exemple, disons que vous vouliez que la cellule B5 contienne la valeur 10 chaque fois que cette cellule est sélectionnée. Pour mettre en œuvre cela, vous pouvez utiliser les éléments suivants:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("B5")) Is Nothing Then _       Range("B5").Value = 10 End Sub

Ce code est ajouté à l’un des objets de feuille dans la zone Explorateur de projet de l’éditeur VB. Double-cliquez sur la feuille de calcul à laquelle vous souhaitez appliquer le gestionnaire d’événements, puis ajoutez la macro à la fenêtre de code résultante.

Lorsque l’événement SelectionChange est déclenché, la cible (la plage de cellules sélectionnée) est transmise au gestionnaire. La macro vérifie ensuite si la plage cible contient la cellule B5, et si c’est le cas, remplit la valeur 10 dans la cellule B5. Si vous voulez vous assurer que la macro ne remplit les informations dans B5 que si seulement B5 (la cellule unique) est sélectionnée, vous pouvez utiliser cette version de la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Address = Range("B5").Address Then _       Range("B5").Value = 10 End Sub

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (3070) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Mouse_Click_Event_in_VBA [Événement de clic de souris dans VBA].