Lancer une macro par clic

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
 
F

Franck DENIS

Guest
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 ?
 
@

@Christophe@

Guest
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é
 
@

@Christophe@

Guest
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@
 
A

Arnaud

Guest
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
 
@

@+Thierry

Guest
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
 

Discussions similaires

Réponses
5
Affichages
308

Statistiques des forums

Discussions
314 645
Messages
2 111 536
Membres
111 184
dernier inscrit
amiko