Lancer une macro par clic

  • Initiateur de la discussion Initiateur de la discussion Franck DENIS
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

F

Franck DENIS

Guest
Bonjour,

Je souhaite lancer une macro uniquement en cliquant sur une cellule quelconque de la feuille de calcul (afin de lui affecter une valeur calculée par ailleurs).

N'existe-t-il pas une syntaxe du type "On_click"... ?

Merci de vos suggestions.

FD
 
Merci Cathy,
Mais, je n'avais pas précisé que je me trouve dans un module, car je souhaite utiliser cette macro pour différentes feuilles.

En résumé :
Soient 3 classeurs (A, B et C) identiques contenant chacun une bonne quarantaine de feuilles avec des tableaux. Chaque feuille est différente de l'autre.
Je crée un quatrième classeur (D) de structure identique, mais vierge.

=> Quand je clique sur une cellule, je souhaite que la macro rapporte la somme des 3 cellules correspondante des autre classeurs A, B et C.

(Peut-être y a t il d'autres solutions que les macros. Mais les formules, vu le volume de cellules, risquent d'être lourdes).

Puis-je encore abuser de tes suggestions ?
 
Bonsoir Franck Denis et Cathy

Ben Franck, je ne vois pas le probleme, regarde le code suivant, mets le dans la feuille ou tu veux faire ton clic, exemple feuille1:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Range("A2"), Target) Is Nothing Then Exit Sub
Call Couleur 'nom du sub de ton module
Exit Sub
End Sub

Si tu clique Droit sur la cellule A2 il exécute la procédure Couleur qui se trouve dans un module

@Christophe@

Bonne soiré
 
Bonsoir Arnaud,

Dans l'exemple que je donne, la macro est uniquement associe a la cellule A2, tu peux faire clique droit n'importe ou sur la feuille, mais si tu la fais sur cellule A2 il execute ta macro

@Christophe@
 
Salut Christophe

Merci de tes précisions, en fait ce que je souhaite arriver à faire, c'est faire apparaître une userform combobox en cliquant sur une certaine cellule. Ce ci dans le but que ce que l'on selectionne dans la liste déroulante s'inscrive dans la cellule.
C'est surement trés simple, mais pas pour moi, enfin pas encore. Si tu as un exemple c'est avec grand plaisir

Merci et bonne journée

@arnaud
 
Bonjour ce fil...

Spécialement pour mon ami @Xtof@...

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Range("A2"), Target) Is Nothing Then Exit Sub
Call Couleur 'nom du sub de ton module
Exit Sub
End Sub

Tu peux éviter intersect pour une seule cellule... ensuite pour utiliser l'évènement "Click Droit" pense à préciser Cancel = True (sinon le menu contextuel apparaîtra également et c'est génant)

çà donne ceci :
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address <> "$A$1" Then Exit Sub
Cancel = True
MsgBox "Toto"
End Sub

Bon Hot Dog au marché !!!
@+Thierry
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
316
Réponses
5
Affichages
406
Réponses
1
Affichages
165
Retour