OVH Cloud OVH Cloud

Module de classe (Premier essai)

3 réponses
Avatar
garnote
Bonjour le monde,

Sur la feuille 1 de mon document, j'ai un seul graphique
«nuage de points» et un seul TextBox.
De plus :

1. Sur la feuille de code de ThisWorkbook :

Dim graphique As New création
__________________________________

Private Sub Workbook_Open()
Set graphique.MonGraphe = Worksheets(1).ChartObjects(1).Chart
End Sub

2. Sur la feuille de code du module de classe nommé «création» :

Public WithEvents MonGraphe As Chart
_________________________________

Private Sub MonGraphe_MouseMove(ByVal Button As Long, _
ByVal Shift As Long, ByVal x As Long, ByVal y As Long)

Worksheets(1).TextBox1.Value = x & " " & y

End Sub


Alors quand mon graphique est sélectionné et que je promène
le curseur, sa position, relative au coin supérieur gauche du
graphique, apparaît dans mon TextBox.
Question :
Que faudrait-il modifier pour que ça fonctionne pour tous les
graphiques du document ?

Serge

3 réponses

Avatar
garnote
Pour éviter toute confusion, «Premier essai»
signifie que c'est la première fois que j'ose
aborder les modules de classe.
Ça me fait peur ces affaires-là !!!

;-)))

Serge


"garnote" a écrit dans le message de news:
XSSjb.778$
Bonjour le monde,

Sur la feuille 1 de mon document, j'ai un seul graphique
«nuage de points» et un seul TextBox.
De plus :

1. Sur la feuille de code de ThisWorkbook :

Dim graphique As New création
__________________________________

Private Sub Workbook_Open()
Set graphique.MonGraphe = Worksheets(1).ChartObjects(1).Chart
End Sub

2. Sur la feuille de code du module de classe nommé «création» :

Public WithEvents MonGraphe As Chart
_________________________________

Private Sub MonGraphe_MouseMove(ByVal Button As Long, _
ByVal Shift As Long, ByVal x As Long, ByVal y As Long)

Worksheets(1).TextBox1.Value = x & " " & y

End Sub


Alors quand mon graphique est sélectionné et que je promène
le curseur, sa position, relative au coin supérieur gauche du
graphique, apparaît dans mon TextBox.
Question :
Que faudrait-il modifier pour que ça fonctionne pour tous les
graphiques du document ?

Serge















Avatar
Alain CROS
Bonjour.

Dans le ThisWorkbook.

Dim graphique() As New création

Private Sub Workbook_Open()
Dim i As Integer, j As Integer
j = Worksheets(1).ChartObjects.Count
ReDim graphique(1 To j)
For i = 1 To j
Set graphique(i).MonGraphe = Worksheets(1).ChartObjects(i).Chart
Next i
End Sub

Alain CROS.

"garnote" a écrit dans le message de news: XSSjb.778$
Bonjour le monde,

Sur la feuille 1 de mon document, j'ai un seul graphique
«nuage de points» et un seul TextBox.
De plus :

1. Sur la feuille de code de ThisWorkbook :

Dim graphique As New création
__________________________________

Private Sub Workbook_Open()
Set graphique.MonGraphe = Worksheets(1).ChartObjects(1).Chart
End Sub

2. Sur la feuille de code du module de classe nommé «création» :

Public WithEvents MonGraphe As Chart
_________________________________

Private Sub MonGraphe_MouseMove(ByVal Button As Long, _
ByVal Shift As Long, ByVal x As Long, ByVal y As Long)

Worksheets(1).TextBox1.Value = x & " " & y

End Sub


Alors quand mon graphique est sélectionné et que je promène
le curseur, sa position, relative au coin supérieur gauche du
graphique, apparaît dans mon TextBox.
Question :
Que faudrait-il modifier pour que ça fonctionne pour tous les
graphiques du document ?

Serge















Avatar
garnote
Salut Alain,

Me semblait bien qu'il devait y avoir une boucle là-dedans.
Super.
J'aime m'enfoncer dans des abîmes d'abstraction !!!

Merci

Serge


"Alain CROS" a écrit dans le message de news:

Bonjour.

Dans le ThisWorkbook.

Dim graphique() As New création

Private Sub Workbook_Open()
Dim i As Integer, j As Integer
j = Worksheets(1).ChartObjects.Count
ReDim graphique(1 To j)
For i = 1 To j
Set graphique(i).MonGraphe = Worksheets(1).ChartObjects(i).Chart
Next i
End Sub

Alain CROS.

"garnote" a écrit dans le message de news:
XSSjb.778$

Bonjour le monde,

Sur la feuille 1 de mon document, j'ai un seul graphique
«nuage de points» et un seul TextBox.
De plus :

1. Sur la feuille de code de ThisWorkbook :

Dim graphique As New création
__________________________________

Private Sub Workbook_Open()
Set graphique.MonGraphe = Worksheets(1).ChartObjects(1).Chart
End Sub

2. Sur la feuille de code du module de classe nommé «création» :

Public WithEvents MonGraphe As Chart
_________________________________

Private Sub MonGraphe_MouseMove(ByVal Button As Long, _
ByVal Shift As Long, ByVal x As Long, ByVal y As Long)

Worksheets(1).TextBox1.Value = x & " " & y

End Sub


Alors quand mon graphique est sélectionné et que je promène
le curseur, sa position, relative au coin supérieur gauche du
graphique, apparaît dans mon TextBox.
Question :
Que faudrait-il modifier pour que ça fonctionne pour tous les
graphiques du document ?

Serge