VBA Autres façons d'executer les lignes de commande dans un graphe
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

VBA Autres façons d'executer les lignes de commande dans un graphe



  1. #1
    coolkoff

    VBA Autres façons d'executer les lignes de commande dans un graphe


    ------

    Bonjour à Tous
    Je cherche le moyen d'appeler ou d'executer le code contenu dans la feuille du graphe.
    A la base je souhaite récupérer les coordonnées des points du graphe. j'ai réussi à trouver un moyen de le faire (code tout en bas)
    Sauf que ce code est integer directement dans le graph.
    Je souhait que pour chaque graph généré ( non incorporé), je puisse récupérer les cordonnées des points
    Je ne vais pas à chaque fois insérer ces lignes de code dans les graphes
    Auriez vous une idée de comment je pourrai contourner ce probleme?
    Je vous remercie par avance


    """"""""""""""""""""code"""""" """""""""""""""""""""""""""""" """""""""""""""""""""""""""""" """""""""""""
    Code:
    Private Sub Chart_Select(ByVal ElementID As Long, ByVal Arg1 As Long, ByVal Arg2 As Long)
    Dim LabelStatus, X, Y, RangeX As Range, RangeY As Range, rangeXY As Range, i&
    Dim Sh As Worksheet, F As String, S As String, SF As String, SR As String
    If ElementID = xlSeries Then
       If Arg2 = -1 Then
        'msgbox "Tous les points du graphique " & Arg1 & " ont été sélectionnés"
       Else
        LabelStatus = ActiveChart.SeriesCollection(Arg1).Points(Arg2).HasDataLabel
        ActiveChart.SeriesCollection(Arg1).Points(Arg2).HasDataLabel = True
        ActiveChart.SeriesCollection(Arg1).Points(Arg2).ApplyDataLabels ShowValue:=True
        Y = ActiveChart.SeriesCollection(Arg1).Points(Arg2).DataLabel.Caption
        ActiveChart.SeriesCollection(Arg1).Points(Arg2).ApplyDataLabels Type:=xlDataLabelsShowLabel
        X = ActiveChart.SeriesCollection(Arg1).Points(Arg2).DataLabel.Caption
        ActiveChart.SeriesCollection(Arg1).Points(Arg2).HasDataLabel = LabelStatus
        If LabelStatus Then ActiveChart.SeriesCollection(Arg1).Points(Arg2).ApplyDataLabels
        MsgBox "X= " & X & " , Y=" & Y
        F = ActiveChart.SeriesCollection(Arg1).Formula
        S = Split(F, ",")(1)
        SF = Left(S, InStr(S, "!") - 1)
        SF = Replace(SF, "'", "")
        SR = Mid(S, InStr(S, "!") + 1)
        Set Sh = Sheets(SF)
        Set RangeX = Sh.Range(SR)
        
        S = Split(F, ",")(2)
        SR = Mid(S, InStr(S, "!") + 1)
        Set RangeY = Sh.Range(SR)
        
        For i = 1 To RangeY.Rows.Count
          If CStr(RangeY(i, 1).Value) = Y And CStr(RangeX(i, 1).Value) = X Then
            Sh.Select
            Union(RangeX(i, 1), RangeY(i, 1)).Select
            Exit For
          End If
        Next i
        MsgBox "Adresse de X = " & RangeX(i, 1).Address(False, False) & vbLf & _
            "Adresse de Y = " & RangeY(i, 1).Address(False, False)
       End If
     Else
      'MsgBox "Aucun point d'aucun graphique n'a été sélectionné"
     End If
    End Sub
    """""""""""""""""""""""""""""" """""""""""""""""""""""""""""" """""""""""""""""""""""""""""" """""""""""""""""""

    -----
    Dernière modification par JPL ; 20/01/2015 à 14h47. Motif: Ajout de la balise Code (#) pour garder l'indentation

  2. #2
    cherbe

    Re : VBA Autres façons d'executer les lignes de commande dans un graphe

    Citation Envoyé par coolkoff Voir le message
    Bonjour à Tous
    Je cherche le moyen d'appeler ou d'executer le code contenu dans la feuille du graphe.
    A la base je souhaite récupérer les coordonnées des points du graphe. j'ai réussi à trouver un moyen de le faire (code tout en bas)
    Bonjour

    Je ne comprends pas bien votre problématique.
    Vous travaillez sur Excel je suppose ?
    D'où proviennent ces graphs, c'est vous qui les créez ou vous avez reçu un fichier les contenant ?
    sont-ils contenus dans une seule feuille ou y a -t- il autant de feuilles que de graphs ?
    Votre recherche de coordonnées est-elle systématique (collecte de tous les couples) ?
    Si ce sont des graphiques XL, pourquoi ne pas explorer la feuille de données ?
    Dernière modification par JPL ; 22/01/2015 à 16h16. Motif: correction de balise

Discussions similaires

  1. Executer une commande sur parc réseau avec droit admin
    Par Krakenn dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 30/11/2013, 20h41
  2. Php et lignes de commande
    Par kevin8z dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 09/04/2013, 17h30
  3. exécuter un programme avec l'invite de commande
    Par invite9dc17b82 dans le forum Logiciel - Software - Open Source
    Réponses: 12
    Dernier message: 24/04/2009, 18h32
  4. éxécuter prog php par l'invite de commande
    Par inviteab18f26d dans le forum Internet - Réseau - Sécurité générale
    Réponses: 12
    Dernier message: 07/09/2008, 20h54
  5. ntldr manquant:je n'arrive pas à exécuter les instructions(autres post lus).
    Par invitee0f26e52 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 23/12/2007, 12h24