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-E] Données source d'un graphique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut [VBA-E] Données source d'un graphique
    Hello,

    j'ai un petit souci pour la selection de données source d'un graphique

    voici le code donné par l'editeur de macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'ActiveChart.SetSourceData Source:=Sheets("Données_APCIOPE1").Range( _
            "A6:A9,F6:F9"), PlotBy:=xlColumns
    C'est un peu compliqué car j'ai plusieurs graphs. le premier prend de A6:A9,B6:B9 le second A6:A9,C6:C9 etc...

    donc je décale d'une colonne à chaque fois. En plus de ca je veux choisir le nombre de lignes que je prend (donc pas toujours jusque ligne 9). j'ai tenté de traduire le code donné par l'editeur et ca donne le code ci dessous.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    'on parcourt tous les graphs et on les met à jour
    For i = 1 To Charts.Count
        Charts(i).Select
        'faire un range de range?
     
            ActiveChart.SetSourceData Source:=Sheets(1).Range(Range(Sheets(1).Cells(7, 1), _
        Sheets(1).Cells(DerniereLigne, 1)), Range(Sheets(1).Cells(7, i + 1), _
        Sheets(1).Cells(DerniereLigne, i + 1))), PlotBy:=xlColumns
     
    Next
    Or le probleme ici est que pour mon graph2 il me prend la plage de A6:C9 (j'ai donc 2 courbes) puis pour le graph3 il me prend A6: D9 (donc 3 courbes etc...)

    moi je voudrai qu'il me prenne A6:A9 en abscisse et C6:C9 en ordonnées pour le graph2 (qu'il ne prenne pas la colonne B)

    une idée?

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Hello l'ersatz, toujours pas foutu à la porte ?
    Regarde là, j'espère que tu trouveras ton bonheur
    http://www.developpez.net/forums/sho...d.php?t=179577
    Tu dis

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    Pfff vilain dodo !

    non toujours pas à la porte, comme si !!

    bon j'ai regardé ton exemple mais ca correspond pas à mon cas, ou alors j'ai mal compris.

    en fait ton cas tu prend une plage de plusieur cellules bougeante. Moi c'est un peu le meme mais y'a un "trou" dans la plage.

    Je prend toujours la colonne A mais apres je prend QUE la B pour graph1 (donc données de colonnes A et B), QUE la C pour graph2 (donc données de colonnes A et C)....

    et moi avec mon code j'arrive pas à prendre A et C il me prend A à C (donc la colonne B aussi et moi j'en veux pas !!)


    voilà c'est pas simple à expliquer désolé

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Dis-moi déjà si c'est un truc de ce genre-là que tu veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Range("A6:A10,D6:D10,E6:E10")

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    hmmmm,

    espece de *%$! de dodo !!

    tu aimes me faire languir hein?!

    j'ai la solution !!! mais attend un peu...

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    932
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 932
    Par défaut
    oui c'est ca

    .Range("A6:A9,F6:F9"),


    moi ya que 2 plage différentes mais c'est ca l'idée !

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Alors tu fabriques ta plage .Range("A6:A9,F6:F9"),
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            NoCol1 = 1
            NoLigne1 = 6
            NoCol2 = 1
            NoLigne2 = 9
            Plage = Range(Cells(NoLigne1,NoCol1),Cells(NoLigne2,NoCol2)).address
            NoCol1 = 1
            NoLigne1 = 6
            NoCol2 = 6
            NoLigne2 = 9
            Plage = Plage + "," + Range(Cells(NoLigne1,NoCol1),Cells(NoLigne2,NoCol2)).address
    Et ensuite, tu peux mettre ".Range(Plage), "
    Maintenant, si tes colonnes ne changernt pas, tu peux simplement mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            NoLigne1 = 6
            NoLigne2 = 9
            Plage = Range(Cells(NoLigne1,1),Cells(NoLigne2,1)).address
            NoLigne1 = 6
            NoLigne2 = 9
            Plage = Plage + "," + Range(Cells(NoLigne1,6),Cells(NoLigne2,6)).address
    A toi !

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

Discussions similaires

  1. Modifier donnée sources d'un graphique
    Par rob1son76 dans le forum IHM
    Réponses: 1
    Dernier message: 14/12/2010, 15h32
  2. Réponses: 2
    Dernier message: 12/01/2009, 09h39
  3. récuperer l'adresse des données sources d'un Graphique
    Par gratesnif dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/03/2008, 16h06
  4. [vba-E]données sources d'une combobox variables
    Par sk8bcn dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 28/08/2006, 14h49
  5. [VBA-E] Données sources d'un graphique
    Par kawel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/08/2006, 05h10

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