Perdu dans mon premier module de classe

Le
Daniel.C
Bonjour.
Le but est d'affecter des évènements à un graphique. J'ai suivi les
instructions d'une page web de MS. J'ai donc créé un module de classe nommé
EventClassModule dans lequel j'ai mis :

Public WithEvents myChartClass As Chart
Dim myClassModule As New EventClassModule

Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub

J'ai ajouté, pour commencer petit :

Private Sub myChartClass_Activate()
MsgBox "toto"
End Sub

Mais j'ai beau activer mon graphique, la macro ne fonctionne pas. Où sont
les erreurs ?

Merci d'avance.
Daniel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #16401101
Création du module de classe : EventClasseModule -> Ok

Dans le haut de ce module : Déclaration de :
Public WithEvents myChartClass As Chart - OK

Dans un module Standard :
Dim myClassModule As New EventClassModule

'Aussi dans le module Standard :
'à titre de suggestion j'utiliserais un autre mot que "Initialize"
'pour éviter toute confusion... VBA utilise déjà ce mot
'------------------------------------
Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub
'------------------------------------

Et tu utilises Workbook_Open du Workbook pour lancer
la procédure Sub InitializeChar()

Un tout petit fichier exemple d'un module de classe et d'un graphe :

http://cjoint.com/?hymNNQksL0






"Daniel.C" %
Bonjour.
Le but est d'affecter des évènements à un graphique. J'ai suivi les
instructions d'une page web de MS. J'ai donc créé un module de classe nommé
EventClassModule dans lequel j'ai mis :

Public WithEvents myChartClass As Chart
Dim myClassModule As New EventClassModule

Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub

J'ai ajouté, pour commencer petit :

Private Sub myChartClass_Activate()
MsgBox "toto"
End Sub

Mais j'ai beau activer mon graphique, la macro ne fonctionne pas. Où sont
les erreurs ?

Merci d'avance.
Daniel
Daniel.C
Le #16401721
Bonjour.
Merci Denis. Je mets en pratique dès que mon fils lachera l'ordinateur (je
l'ai récupéré pendant qu'il prend sa douche).
Daniel
"michdenis" ODq%
Création du module de classe : EventClasseModule -> Ok

Dans le haut de ce module : Déclaration de :
Public WithEvents myChartClass As Chart - OK

Dans un module Standard :
Dim myClassModule As New EventClassModule

'Aussi dans le module Standard :
'à titre de suggestion j'utiliserais un autre mot que "Initialize"
'pour éviter toute confusion... VBA utilise déjà ce mot
'------------------------------------
Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub
'------------------------------------

Et tu utilises Workbook_Open du Workbook pour lancer
la procédure Sub InitializeChar()

Un tout petit fichier exemple d'un module de classe et d'un graphe :

http://cjoint.com/?hymNNQksL0






"Daniel.C" %
Bonjour.
Le but est d'affecter des évènements à un graphique. J'ai suivi les
instructions d'une page web de MS. J'ai donc créé un module de classe
nommé
EventClassModule dans lequel j'ai mis :

Public WithEvents myChartClass As Chart
Dim myClassModule As New EventClassModule

Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub

J'ai ajouté, pour commencer petit :

Private Sub myChartClass_Activate()
MsgBox "toto"
End Sub

Mais j'ai beau activer mon graphique, la macro ne fonctionne pas. Où sont
les erreurs ?

Merci d'avance.
Daniel




Daniel.C
Le #16402671
Merci mille fois. Ca fonctionne extra bien.
Daniel
"michdenis" ODq%
Création du module de classe : EventClasseModule -> Ok

Dans le haut de ce module : Déclaration de :
Public WithEvents myChartClass As Chart - OK

Dans un module Standard :
Dim myClassModule As New EventClassModule

'Aussi dans le module Standard :
'à titre de suggestion j'utiliserais un autre mot que "Initialize"
'pour éviter toute confusion... VBA utilise déjà ce mot
'------------------------------------
Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub
'------------------------------------

Et tu utilises Workbook_Open du Workbook pour lancer
la procédure Sub InitializeChar()

Un tout petit fichier exemple d'un module de classe et d'un graphe :

http://cjoint.com/?hymNNQksL0






"Daniel.C" %
Bonjour.
Le but est d'affecter des évènements à un graphique. J'ai suivi les
instructions d'une page web de MS. J'ai donc créé un module de classe
nommé
EventClassModule dans lequel j'ai mis :

Public WithEvents myChartClass As Chart
Dim myClassModule As New EventClassModule

Sub InitializeChart()
Set myClassModule.myChartClass = _
Sheets("Feuil1").ChartObjects(1).Chart
End Sub

J'ai ajouté, pour commencer petit :

Private Sub myChartClass_Activate()
MsgBox "toto"
End Sub

Mais j'ai beau activer mon graphique, la macro ne fonctionne pas. Où sont
les erreurs ?

Merci d'avance.
Daniel




Publicité
Poster une réponse
Anonyme