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 :

Affectation de source de données à un graphique en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 6
    Par défaut Affectation de source de données à un graphique en VBA
    Bonjour,

    Voici mon problème, je souhaite générer des graphiques type radar via VBA.
    Je dois avoir au final un graphique par ligne (les données sources se trouvent sur la ligne).
    Voici mon code :
    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
     
    For j = 1 To monCompteur
        maSourceDeDonnees = ""
        'créer le radar
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlRadarFilled
        ActiveChart.SetSourceData Source:=Range("synthese!$A$1:$AF$300")
        ActiveChart.SeriesCollection.NewSeries
        maSourceDeDonnees = "C" & numLigne & ";F" & numLigne & ";I" & numLigne & ";L" & numLigne & ";O" & numLigne & ";R" & numLigne & ""
     
        ActiveChart.SeriesCollection(1).Name = "=synthese!$A$" & numLigne & ""
        ActiveChart.SeriesCollection(1).XValues = "=calcul!$C$3:$C$8"
        ActiveChart.SeriesCollection(1).Values = ActiveSheet.Range(maSourceDeDonnees)
     
        '************
        ' j'enchaîne ensuite avec la mise en forme des radars
        '************
        numLigne = numLigne + 1
    Next j
    Une erreur 1004 apparaît lors de l'execution de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ActiveChart.SeriesCollection(1).Values = ActiveSheet.Range(maSourceDeDonnees)
    J'ai essayé avec Sheets("synthese").Range(maSourceDeDonnees), également avec "=synthese!C" & numLigne & ";synthese!F" & numligne ... etc

    A chaque fois la même erreur.

    L'un d'entre vous pourrait-il m'éclairer ?

    Merci !

  2. #2
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 403
    Par défaut
    Bonjour,

    que vaut numligne lors de l'erreur ?
    Es-tu certain() de l'Activesheet ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 6
    Par défaut
    numLigne est initialisé à 10 avant ma boucle.
    oui l'ActiveSheet correspond bien à la feuille où se situe mes données à mettre en source.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 6
    Par défaut
    bon j'ai trouvé une solution qui fonctionne :

    Je pense que le problème venait du fait que mes colonnes sources ne se suivaient pas et que la syntaxe doit alors être plus compliquée.

    J'ai donc copié mes cellules sources dans des cellules mitoyennes et mon code devient alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(1).Values = "='synthese'!BA" & numLigne & ":BF" & numLigne & ""
    et fonctionne.

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

Discussions similaires

  1. Source de données de graphique
    Par fmris dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2012, 14h41
  2. [AC-2007] Impossible de Créer Source de Données Système (DSN) en VBA
    Par jacou dans le forum VBA Access
    Réponses: 0
    Dernier message: 19/02/2010, 13h23
  3. [ODBC] Modifier source de données ODBC avec le VBA
    Par mathias dans le forum VBA Access
    Réponses: 6
    Dernier message: 07/05/2008, 16h15
  4. Graphique changement source de données
    Par Zinemon dans le forum IHM
    Réponses: 6
    Dernier message: 14/06/2007, 14h33
  5. affecter la source de données pour mon état
    Par islamune9 dans le forum VB.NET
    Réponses: 4
    Dernier message: 10/05/2007, 10h11

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