Déclencher une macro d'un graphique

  • Initiateur de la discussion Initiateur de la discussion VTLE
  • 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 !

V

VTLE

Guest
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
 
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 😕.

Bonjour Pierrot 🙂, Ou la la, désolé, j'avais rien compris en fait (bon,c'est vrai que c'était pas très clair) 😱.
 
Dernière édition:
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

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
 
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 modification par un modérateur:
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
 
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
 
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
@+
 
- 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
0
Affichages
190
Réponses
1
Affichages
752
Réponses
6
Affichages
335
Retour