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 :

Graphique Croisé Dynamique : récupérer le nom de la série en selectionnant un point ou une légende


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 23
    Par défaut Graphique Croisé Dynamique : récupérer le nom de la série en selectionnant un point ou une légende
    Bonjour à tous !

    Le code suivant me permet de récupérer le nom de ma série en la sélectionnant sur mon graphique croisé dynamique en barres cumulées.
    J'aimerais aussi pouvoir sélectionner juste un point, et pouvoir récupérer le nom de la série.
    Et must du must, j'aimerais pouvoir sélectionner une valeur de ma légende, et récupérer le nom de la série.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If TypeName(Selection) = "Series" Then
     
    NomSerie = Selection.Name
     
    End If
    Si quelqu'un a une piste, ce serait super

    Bonne journée,

    Kmilla

  2. #2
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 23
    Par défaut Solution pour les points
    Pour récupérer le nom de la série d'un point j'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ElseIf TypeName(Selection) = "Point" Then
    a() = Split(Selection.Name, "P")
    b() = Split(a(0), "S")
     
    Nom = ActiveChart.SeriesCollection(CDbl(b(1))).Name
    Si quelqu'un a une idée brillante pour les légendes, je suis preneuse.


    EDIT
    Je m'en suis sortie avec ExecuteExcel4Macro("SELECTION()")

  3. #3
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Bonjour

    Pour un point de la légende a priori
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If TypeName(Selection) = "LegendEntry" Then Nomserie = ActiveChart.SeriesCollection(Selection.Index).Name
    Edit : comme quoi les macros Excel4 faisaient des choses que VBA ne fait pas toujours de façon simple...

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 23
    Par défaut
    Merci Chris, ça marche aussi

  5. #5
    Expert éminent

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 564
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 564
    Par défaut
    Re

    Pour le point tu peux éviter le double split : le split au "S" suffit.

    Ce sujet m'a interpellé : dans quel contexte l'utilises-tu ?

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 23
    Par défaut
    Hmm quelque chose m'echappe peut-être mais le nom est de la forme S17P26, donc si je veux récupérer le numéro de la série (17), il me faut splitter en S et en P, non ?

    J'ai un graphique croisé dynamique en barre cumulées (avec en abcisse le temps), et je souhaite en sélectionnant un point/série/élement de légende, pouvoir déplacer mes blocs vers la droite, vers la gauche, les supprimer, en ajouter de nouveaux avec le clavier.
    J'ai fait ça avec les méthodes OnKey
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Init()
        Application.OnKey "^{RIGHT}", "DecalerDroite" ' on ctrl + right arrow
        Application.OnKey "^{LEFT}", "DecalerGauche" ' on ctrl + left arrow
        Application.OnKey "^{DELETE}", "Suppr" ' on ctrl + delete
        Application.OnKey "^{INSERT}", "Extend" ' on ctrl + insert
    End Sub
    Ca marche très bien, le résultat est très fluide et agréable à utiliser

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impression tableau ou graphique croisé dynamique
    Par froutloops62 dans le forum Access
    Réponses: 4
    Dernier message: 13/12/2006, 17h30
  2. Graphique croisé dynamique
    Par djpit dans le forum Access
    Réponses: 1
    Dernier message: 25/08/2006, 17h54
  3. Modifier l'aspect d'un graphique croisé dynamique
    Par Goldenduck4000 dans le forum IHM
    Réponses: 6
    Dernier message: 01/06/2006, 15h11
  4. [C#]composants pour créer graphiques croisé dynamiques
    Par bossun dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/05/2006, 10h49
  5. imprimer graphique croisé dynamique ou formulaire
    Par bossun dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/06/2004, 11h53

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