Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Perdu dans mon premier module de classe

3 réponses
Avatar
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

3 réponses

Avatar
michdenis
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" a écrit dans le message de news:
%
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
Avatar
Daniel.C
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" a écrit dans le message de news:
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" a écrit dans le message de news:
%
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




Avatar
Daniel.C
Merci mille fois. Ca fonctionne extra bien.
Daniel
"michdenis" a écrit dans le message de news:
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" a écrit dans le message de news:
%
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