Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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é
 
A

Arnaud

Guest
Bonsoir,

Trés intéréssé par l'ouverture d'une macro par clic droit, je me demande si on peut associé ce clic à une certaine cellule et nom pas à toute la feuille.

Merci et bonne soirée
 
@

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

@Christophe@

Guest
Bonjour a tous

Thanks Thierry

Comme toujours voici la touche personelle de VBAMAN Thierry

Parfait Thierry, je ne savais pas, mais tres tres bon a savoir.

Merci

@Christophe@
 
F

Franck DENIS

Guest
Bonjour à Tous et merci pour vos proses dominicales !

J'ai une nouvelle fois trouvé la solution ludique à mes problèmes VBA sur cet excellent site.

A très bientôt et encore merci !

Franck
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…