Nuage à points etiquette au vol de la souris

hortensette34 Messages postés 4 Statut Membre -  
hortensette34 Messages postés 4 Statut Membre -
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

2 réponses

  1. hortensette34 Messages postés 4 Statut Membre
     
    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