Nuage à points etiquette au vol de la souris

Fermé
hortensette34 Messages postés 4 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 27 octobre 2015 - 23 oct. 2015 à 17:56
hortensette34 Messages postés 4 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 27 octobre 2015 - 27 oct. 2015 à 08:21
Bonjour,

Merci d'abord pour toutes ces informations que vous fournissez. Je me demande si vous n'auriez pas trouvé un moyen d'afficher les étiquettes juste au moment où on passe sur le point avec la souris? Si j'affiche toutes les étiquettes, mon fichier est illisible.

Je vous remercie

A voir également:

2 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
24 oct. 2015 à 08:56
Bonjour,

regarde ce sujet : https://forums.commentcamarche.net/forum/affich-31218345-modifier-infobulle-sur-nuage-de-points-excel-2003

il y a peut-être des choses à utiliser.

cordialement
0
hortensette34 Messages postés 4 Date d'inscription jeudi 22 octobre 2015 Statut Membre Dernière intervention 27 octobre 2015
27 oct. 2015 à 08:21
Merci. J'ai utilisé des choses. Je n'arrive pas à contrôler deux graphiques de séries différentes avec la gestion des événements dans un module de classe et la spécification de mon objet dans un open workbook. Quelqu'un pourrait corriger cela ou m'indiquer où je fais fausse route. Merci bien. Je mets dans un module de classe, classe chart.

Option Explicit

Public WithEvents chart1 As Chart

'*** Utilisation des évènements *********

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

Dim ElementID As Long
Dim Arg1 As Long, Arg2 As Long


On Error Resume Next
ChartObjects(1).GetChartElement x, y, ElementID, Arg1, Arg2

If Arg2 = 0 Then
ActiveChart.Shapes("Rectangle 1").Visible = msoFalse
Else

With ActiveChart.Shapes("Rectangle 1")
.Visible = msoTrue
.TextFrame.Characters.Text = _
Range("C1").Offset(Arg2, -2) & vbCrLf & _
Range("C1").Offset(Arg2, -1) & vbCrLf & _
Range("C1").Offset(Arg2, 0)
.Left = x - (x * 0.4)
.Top = y - (y * 0.4)
End With
End If
End Sub

Option Explicit

Public WithEvents chart2 As Chart

'*** Utilisation des évènements *********

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

Dim ElementID As Long
Dim Arg1 As Long, Arg2 As Long


On Error Resume Next
ChartObjects(2).GetChartElement x, y, ElementID, Arg1, Arg2

If Arg2 = 0 Then
ActiveChart.Shapes("Rectangle 1").Visible = msoFalse
Else

With ActiveChart.Shapes("Rectangle 1")
.Visible = msoTrue
.TextFrame.Characters.Text = _
Range("C1").Offset(Arg2, -2) & vbCrLf & _
Range("C1").Offset(Arg2, -1) & vbCrLf & _
Range("C1").Offset(Arg2, 0)
.Left = x - (x * 0.4)
.Top = y - (y * 0.4)
End With
End If
End Sub

Dans une autre module de classe Appli
Option Explicit

Public WithEvents XL As Excel.Application

Dim ClTabChart() As ClasseChart

'Permet d'intègrer les graphiques incorporés de la feuille active
Public Sub XL_SheetActivate(ByVal Feuille As Object)
Dim i As Integer
'Vérifie qu'il s'agit d'une feuille de calcul
If TypeOf Sheet3("Y.S Densité") Is Worksheet Then
'Vérifie s'il y a des graphiques dans la feuille
If Sheet3("Y.S Densité").ChartObjects.Count = 0 Then Exit Sub
'S'il y a des graphiques,
'boucle pour les intégrer dans le module de classe
For i = 1 To Sheet3("Y.S Densité").ChartObjects.Count
ReDim Preserve ClTabChart(i)
Set ClTabChart(i) = New ClasseChart
Set ClTabChart(i).Graph = Sheet3("Y.S Densité").ChartObjects(i).Chart
Next i
End If
End Sub

'Permet de vider la classe lors de la désactivation de la feuille
Private Sub XL_SheetDeactivate(ByVal Feuille As Object)
Dim j As Integer
On Error Resume Next
For j = 1 To UBound(ClTabChart)
Set ClTabChart(j).Graph = Nothing
Next
End Sub
Dans This workbook:

Option Explicit
Dim ClTabChart1 As ClasseChart
Dim ClTabChart2 As ClasseChart
Dim XlAppli As New ClasseAppli

Private Sub Workbook_Open()
Set XlAppli.XL = Excel.Application
Sheets("Y.S Densité").Activate
Set ClTabChart1 = New ClasseChart
Set ClTabChart2 = New ClasseChart
Set ClTabChart1.Graph = Worksheets("Y.S Densité").ChartObjects(1).Chart
Set ClTabChart2.Graph = Worksheets("Y.S Densité").ChartObjects(2).Chart

'désactive les intitulés et les valeurs
Application.ShowChartTipNames = False
Application.ShowChartTipValues = False
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
'réactive les intitulés et les valeurs
Application.ShowChartTipNames = True
Application.ShowChartTipValues = True
End Sub

erreur de compilation attribut incorrect
0