Déclencher une macro d'un graphique

VTLE

XLDnaute Nouveau
Bonjour bonjour !

Ma question est simple : Peut-on déclencher, via un code vba, une macro ayant été affecté à un graphique (en simulant un clic sur le graphique par exemple) ? Si oui, comment ?
Je précise que la macro associée au graphique a besoin du nom du graphique pour fonctionner.

Cordialement,
VTLE
 

MJ13

XLDnaute Barbatruc
Re : Déclencher une macro d'un graphique

Bonjoru VTLE

Oui avec Henry.

Code:
Sub Macro1()
'Henry
' Macro1 Macro
'
'
    'Range("M21").Select
    'ActiveSheet.ChartObjects("Graphique 1").Activate
    'ActiveSheet.ChartObjects("Graphique 1").Activate
    'ActiveChart.SeriesCollection(1).Select
    'ActiveSheet.ChartObjects("Graphique 1").Activate
    'ActiveSheet.ChartObjects("Graphique 1").Activate
    ActiveChart.ChartArea.Select
    ActiveChart.ChartTitle.Text = "C"
End Sub

A par conttre la, c'est plus compliqué.

en simulant un clic sur le graphique par exemple

Il nous faudrait un exemple :confused:.

Bonjour Pierrot :), Ou la la, désolé, j'avais rien compris en fait (bon,c'est vrai que c'était pas très clair) :eek:.
 
Dernière édition:

VTLE

XLDnaute Nouveau
Re : Déclencher une macro d'un graphique

Re MJ13,

Je viens d'essayer ton code et ca ne fonctionne pas :(
Il n'y a aucune erreur durant la compilation mais la macro affecter au graphique ne se lance pas.
J'ai concocté un petit exemple en fichier joint avec un graphique auquel j'ai affecté une macro qui lance tout simplement un msgbox.
La simulation d'un clic ne serait-elle pas plus judicieuse dans ce problème ou peut-être est-ce trop complexe ?

PS: merci d'avoir répondu aussi vite

cordialement,
VTLE
 

Pièces jointes

  • test.xls
    25.5 KB · Affichages: 75
  • test.xls
    25.5 KB · Affichages: 82
  • test.xls
    25.5 KB · Affichages: 82

VTLE

XLDnaute Nouveau
Re : Déclencher une macro d'un graphique

Re,

Désolé, je me suis certainement mal exprimé.
lancer la macro en cliquant nous même sur le graphique fonctionne très bien. En revanche je souhaite qu'une nouvelle macro puisse selectionné (ou cliquer) le graphique et ainsi activé la macro de manière automatique



Tout ce petit mic mac car dans mon fichier original j'ai plusieurs graphiques, sur un meme onglet; chacun des ces graphiques étant affecter à différentes macro et donc chaque macro me génere différentes données. Mon but est donc de creer une macro capable d'activer les macro de chaque graphique et de stocker les données sur un autre onglet
 

VTLE

XLDnaute Nouveau
Re : Déclencher une macro d'un graphique

Re,

En effet cela fonctionne, mais il y a toujour un "mais", comme je l'ai dit dans mon premier message, mes macros affecté au graphique necessite le nom du graphique (extrait dans la macro via l'instruction "application.caller") car certain graphes utilise la même macro. Je ne peux donc pas utilisé l'instruction "call".

Je vais continuer de chercher une solution.
Merci à vous deux pour votre temps

Cordialement,
VTLE
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Déclencher une macro d'un graphique

Re,

passer le nom des graph en arguments..
Code:
Sub test()
Call macro1("graphique1")
Call macro2("graphique2")
End Sub
Sub macro1(mongraph As String)

End Sub
Sub macro2(mongraph As String)

End Sub
 

VTLE

XLDnaute Nouveau
Re : Déclencher une macro d'un graphique

Rebonjour,

Désolé pour cette réponse aussi tardive...
Premièrement merci pour cette solution, je pense qu'elle sera plus simple que de simuler un clic.
Je viens juste de rajouter ces lignes de code adapter à mon fichier et le passage de l'argument genere une erreur d'execution '450' : Nombres d'argument incorrect ou affectation de proprièté incorrect
Une petite idée ?


Code:


For i = 0 To 5
argument = "graphique " & i
Application.Run "Classeur1.xls'!macro1", argument
Next i
 

Pierrot93

XLDnaute Barbatruc
Re : Déclencher une macro d'un graphique

Bonjour,

ceci fonctionne cez moi :
dans un classeur x :
Code:
Option Explicit
Sub test()
Dim i As Byte, argument As String
For i = 0 To 5
    argument = "graphique " & i
    Application.Run "classeur1.xls!macro1", argument
Next i
End Sub

dans un classeur "classeur1.xls" :
Code:
Option Explicit
Sub macro1(g As String)
MsgBox g
End Sub

les 2 classeurs sont ouverts...

bonne journée
@+
 

Discussions similaires

Réponses
6
Affichages
390
Réponses
3
Affichages
334

Statistiques des forums

Discussions
312 839
Messages
2 092 695
Membres
105 511
dernier inscrit
karimdauphins