Code macro pour double clic

gourdin

XLDnaute Impliqué
Bonjour,

J'ai une macro évenementielle qui se déclenche par double clic sur des cellules

Je souhaiterais qu'une autre macro puisse déclencher cette macro évenementielle en réalisant automatiquement le double clic dans certaines cellule.

Bref un code macro qui déclenche un "double clic" dans une cellule

Merci
 

gourdin

XLDnaute Impliqué
Re : Code macro pour double clic

Bonjour,

Désolé d'insister,
Je reviens sur le problème que je n'arrive pas à résoudre.
Existe t-il un code macro qui fassse l'équivalent d'un "double clic" sur une cellule précise ?

Exemple :

Sub double_clic()
Sheets("Feuil2").Select
Range("B6").Select
Code double clic en B6 ?
censé déclencher une macro evenementielle unique avec réference relative pour les cellules "double cliquer", ici la cellule B6)
End Sub

Merci
 

gourdin

XLDnaute Impliqué
Re : Code macro pour double clic

Merci Efgé

Mais celà ne fonctionne pas car la macro évènementielle comporte des références relatives à la cellule double cliquée.

L'interêt d'avoir mis des références relatives dans la macro évènementielle est que j'ai une macro unique qui convient à tous les cas de cellules double cliquées (très nombreux). Avec des référence absolu celà deviendrait ingérable car je devrais écrire une macro pour chaque cas.

Je cherche à faire le lien entre une macro (bouton) avec une macro évènementielle.
C'est pourquoi je me demandais s'il n'existait pas un code qui declenche un double clic sur des cellules que j'aurais sélectionnées et qui déclencherait ensuite la macro évènementielle.
 

Pierrot93

XLDnaute Barbatruc
Re : Code macro pour double clic

Bonjour,

comprend pas vraiment pourquoi tu veux absolument passer par une macro événementielle, alors qu'à priori ton code serait déclenché par un click sur un bouton... Tu pourrais peut être basé ton code sur l'adresse de la cellule active, ce qui me semble, aurait le même effet... Mais comme je le disais, je n'ai sans doute rien compris, quelque chose m'échappe complètement...

bonne journée
@+
 

gourdin

XLDnaute Impliqué
Re : Code macro pour double clic

Bonjour,

J'ai réalisé un fichier le plus clair possible (je l'espère)

PS : je concois que ma demande, hors du contexte du fichier original, peut semblée compliquée et un peu absurde.
Merci
 

Pièces jointes

  • Macro_jmg.xls
    30 KB · Affichages: 55
  • Macro_jmg.xls
    30 KB · Affichages: 59
  • Macro_jmg.xls
    30 KB · Affichages: 57
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Code macro pour double clic

Bonjour à tous,
Peut être quelque chose comme ça
(à mettre dans un module):
Code:
Sub Click()
If Selection.Value = "OUI" Then
Range("A1").Value = "CA MARCHE"
Else
Range("A1").Value = "CA NE MARCHE PAS"
End If
End Sub
Et en suite pour chaque bouton:
Code:
Sub BT()
Range("D4").Select
Click
End Sub
Cordialement
 

gourdin

XLDnaute Impliqué
Re : Code macro pour double clic

Merci Fo-rum

Mais comme je l'ai dit à Efgé et essayer de l'expliquer dans mon fichier joint
il est nécessaire que les macros déclenchées par les boutons déclenchent la macro évènementielle.

Les boutons doivent rester présents (autre page dons mon fichier initial) et doivent être liés à la macro évènementielle.
 

Efgé

XLDnaute Barbatruc
Re : Code macro pour double clic

Re à tous,
gourdin, Je ne comprend pas. Avec ma proposition les modifications sont très limitées :
Copie de la macro èvénementielle dans un module, changement du nom, et remplacement de "Target " pas Selection.
Vous pouvez même conserver la macro èvénementielle dans la feuille de base.
Franchement je ne vois pas pourquoi créer un évenement si c'est pour le déclencher par bouton :eek:.
cordialement
 

gourdin

XLDnaute Impliqué
Re : Code macro pour double clic

Merci Kjin,
je vais voir si celà peut convenir

Efgé,
Pour mieux comprendre ce que je souhaite voici un exemple qui fonctionne en changeant la nature de la macro évènementielle (voir fichier joint) :

J’ai remplacé la nature de la macro évènementielle (double clic) :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Par (selection) :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Ainsi on a désormais :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells(1, 2).Value = "OUI" Then
Range("A1").Value = "CA MARCHE"
Else
Range("A1").Value = "CA NE MARCHE PAS"
End If
End Sub

Et les 3 boutons avec 3 macros qui selectionnent 3 cellules contenant "OUI"
Bouton 1 Sub selection_C9()
Range("C9").Select
End Sub

Bouton 2 Sub selection_D6()
Range("D6").Select

Bouton 3 End Sub
Sub selection_C4()
Range("C4").Select
End Sub

Automatiquement la macro évenementielle se déclenche par la selection de ces 3 cellules.

Je souhaite exactement la même chose mais avec :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
à la place de : Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Bref que mes macro boutons puissent réaliser l’équivalent d’un double clic et non plus une sélection.

Merci
 

Pièces jointes

  • Macro_jmg.xls
    33.5 KB · Affichages: 46
  • Macro_jmg.xls
    33.5 KB · Affichages: 45
  • Macro_jmg.xls
    33.5 KB · Affichages: 46

Discussions similaires