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 :

VBA - Création d'une graphique dynamique à partir de la colonne d'une cellule sélectionnée


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2018
    Messages : 1
    Points : 1
    Points
    1
    Par défaut VBA - Création d'une graphique dynamique à partir de la colonne d'une cellule sélectionnée
    Bonjour !

    Je me permets de vous poser une petite question de programmation VBA que je n'arrive pas à résoudre.

    J'ai tenté de créer une macro me permettant de générer, à partir d'un tableau à deux entrées, un graphique linéaire changeant selon la cellule sélectionnée. Concrètement, si je sélectionne n'importe quelle cellule sur le plage B22:N22, j'aimerais que les données de la plage utilisées pour générer mon graphique linéaire soient celles figurant sur la plage C22:N22.

    J'ai pour l'instant écrit ces lignes de code qui ne fonctionnent pas, et je pense que cela vient de la méthode de sélection des données à partir de la cellule active.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Worksheet_SelectionChange()
     
        Dim MyChart As Chart
        Dim DataRange As Range
     
        Set DataRange = ActiveCell.Row
        Set MyChart = Sheets("Chart 1").Shapes.AddChart.Chart
        MyChart.SetSourceData Source:=DataRange
        MyChart.ChartType = xlXYScatterLines
     
    End Sub
    J'espère que quelqu'un sera en mesure de m'aider, merci d'avance !

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    ActiveCell.Row donne pour résultat le n° de la ligne (row) où se trouve la cellule active. Ce n'est donc absolument pas une "plage" (range).
    Il faudrait donc compléter avec qq chose de ce genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       Dim kR As Long, kC As Long
       kR = ActiveCell.Row
       kC = ActiveCell.Column
       Set DataRange = Range(Cells(kR, kC + 1), Cells(kR, 14))   '--- 14 = colonne N
    Bonne continuation

Discussions similaires

  1. Réponses: 27
    Dernier message: 02/02/2016, 11h01
  2. Réponses: 2
    Dernier message: 18/06/2015, 11h09
  3. Réponses: 2
    Dernier message: 17/07/2014, 12h08
  4. Réponses: 7
    Dernier message: 10/03/2014, 14h19
  5. Remplir une liste dynamiquement à partir d'un fichier PHP
    Par titoff85 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/08/2007, 20h57

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