IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Graph forme automatique et survol souri


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut Graph forme automatique et survol souri
    Bonjour,
    Je cherche à afficher une forme automatique contenant des données par survol de la souri sur mon graphe en nuage de points.

    Jusque là aucun problème.

    Mon souci est le positionnement de cette forme (en fait il y en a 2 sur le graphe) que j'arrive à calibrer pour une extrémité (haute ou basse) du graphique mais qui se décale tout au long de ce dernier (vers le bas ou vers le haut) jusqu'à des positionnements pas très lisible pour l'utilisateur.

    Le code utilisé (et que je suis arrivé à calibrer sur des commandbutton moins étendus il est vrai), dans un module de classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    Option Explicit
     
     
     
     
    Public WithEvents Graph As Chart
     
     
     
     
     
    '*** Utilisation des évènements *********
     
    Private Sub Graph_MouseMove(ByVal Button As Long, ByVal Shift As Long, _
                        ByVal X As Long, ByVal y As Long)
     
                        Dim pt As POINTAPI
     
     GetCursorPos pt
     
       Dim dX As Single, dY As Single
     
                dX = X - (X - 5): dY = y - (y / 2 - 15)
     
        Dim ElementID As Long
        Dim Arg1 As Long, Arg2 As Long
     
     
        On Error Resume Next
        ActiveChart.GetChartElement X, y, ElementID, Arg1, Arg2
     
     
     
            Dim OuX As Single, OuY As Single
            OuX = X
            OuY = (y / 100 + (dY / 0.6))
            Application.StatusBar = y & " " & OuY
     
            With ActiveChart.Shapes("Rectangle 1")
                .Visible = msoTrue
                .TextFrame.Characters.Text = _
               Worksheets("STATS").Range("V1").Offset(Arg2 - 1, 4).Value
               .AutoSize = True
     
                    If Worksheets("STATS").Range("V1").Offset(Arg2 - 1, 4).Value > 250 Then
                    .Fill.ForeColor.RGB = RGB(255, 0, 0)
                    Else
                    .Fill.ForeColor.RGB = RGB(0, 0, 0)
                    End If
     
                 .Left = OuX - 100
                .Top = OuY - 100
            End With
     
     
     
                    With ActiveChart.Shapes("Rectangle 2")
                .Visible = msoTrue
                .TextFrame.Characters.Text = _
               Worksheets("STATS").Range("V1").Offset(Arg2 - 1, -1).Value
     
              .ScaleHeight 1.5, msoTrue
     
               .Fill.ForeColor.RGB = RGB(10, 0, 0)
     
                .Left = OuX
                .Top = OuY - 75
            End With
     
     
     
     
     
     
     
    End Sub
    Le graphe s'étend sur une plage correspondant à (M1:U207) et j'ai un Zoom à 100%

    Quelqu'un peut-il m'aider s'il vous plaît.

    MERCI

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour
    non c'est pas possible les graph ne possedent pas d'evenement mouse move
    il te faut mettre un label (Activx)transparent dessus et te servir des evenement label
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    Je n'ai absolument pas le niveau pour emmètre le moindre doute mais mon code ne plante pas et mes formes s'affichent bien.
    Mon souci est leurs positionnement sur le graphique qui est aligné sur le sommet de la zone graphique quand ma souri est à cet endroit mais qui s'éloigne petit à petit de mon curseur à fur et à mesure qu'il descend sur le graphique.

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    Je connais déjà la technique du Label que tu m'avais donnée dans un autre post et que j'utilise dans ce classeur, autre part

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    J'ai trouvé ce code sur le Forum que j'essaye d'adapter tant bien que mal:


    https://www.developpez.net/forums/d1...ris-graphique/

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    Mon graphe s'étend sur plusieurs pages en hauteur (nécessaire vu ce que je souhaite afficher), avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub test()
    NbColonnes = Windows(1).VisibleRange.Columns.Count
    NbLignes = Windows(1).VisibleRange.Rows.Count
    PremLigneVisible = ActiveWindow.ScrollRow
    PremColVisible = ActiveWindow.ScrollColumn
    PlageVisible = Range(Cells(PremLigneVisible, PremColVisible), _
           Cells(PremLigneVisible + NbLignes, PremColVisible + NbColonnes)).Address
    MsgBox PlageVisible
    End Sub
    modifié, j'arrive à conserver mes formes au centre de l'écran.

    Est-il possible de leur donner un mouvement proportionnel au mouvement du pointeur de la souri entre la première ligne et la dernière ligne affichée?

Discussions similaires

  1. Mise en forme automatique d'un tableau
    Par Gestion dans le forum Access
    Réponses: 2
    Dernier message: 24/03/2006, 22h19
  2. Rajout d'une ligne à l'aide contextuelle survol souris
    Par patrick24 dans le forum Langage
    Réponses: 3
    Dernier message: 28/12/2005, 11h13
  3. Réponses: 3
    Dernier message: 13/10/2005, 11h31
  4. Atteindre NewRec dans sous form automatiquement !
    Par samlepiratepaddy dans le forum Access
    Réponses: 10
    Dernier message: 25/09/2005, 10h25
  5. mise en forme automatique du code a 80 colonnes ??
    Par benwa dans le forum JBuilder
    Réponses: 1
    Dernier message: 27/03/2005, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo