Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Séries de données non fixes [ Archives Visual Basic / Graphique ] (Emakhtila)

vendredi 5 mai 2006 à 15:18:46 | Séries de données non fixes

Emakhtila

Bonjour tout le monde.

Bon voila je me retrouve coincée en voulant faire un graphique avec VB. Mon problème c'est que j'ai créé un bouton pour pouvoir faire un graphique mais ma base peut changer. Mes séries de données ne restent donc pas fixes. En fait j'aurai besoin d'aide pour généraliser ce bout de programme qui permet de faire la sélection des données.
J'ai plusieurs groupes qui contiennent les mêmes variables mais pas le même nombre de données. Ainsi, j'aurai plusieurs courbes. Chaque groupe contient 3 variables : le temps, le taux et la variance. Je voudrai faire un graphique avec le temps en abscisse et le taux en ordonnée (tous les groupes étant sur le même graphique).
En enregistrant la macro pendant que je faisait le graphique à la main pour 3 groupes, j'ai obtenu le début de programme suivant :

   Charts.Add
    ActiveChart.ChartType = xlXYScatterLines
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).XValues = "=Tous!R4C1:R373C1"
    ActiveChart.SeriesCollection(1).Values = "=Tous!R4C2:R373C2"
    ActiveChart.SeriesCollection(1).Name = "=Tous!R2C1"
    ActiveChart.SeriesCollection(2).XValues = "=Tous!R4C4:R373C4"
    ActiveChart.SeriesCollection(2).Values = "=Tous!R4C5:R373C5"
    ActiveChart.SeriesCollection(2).Name = "=Tous!R2C4"
    ActiveChart.SeriesCollection(3).XValues = "=Tous!R4C7:R373C7"
    ActiveChart.SeriesCollection(3).Values = "=Tous!R4C8:R373C8"
    ActiveChart.SeriesCollection(3).Name = "=Tous!R2C7"

En fait j'aimerai généralisé ce qui est en rouge pour que l'ordinateur sélectionne lui même les séries suivant un nombre de groupe que je demande au préalable dans un inputbox. Je pensais faire un truc dans le genre :

Dim NbCourbe As Integer
NbCourbe = InputBox("Combien de courbe voulez-vous ?")
Charts.Add
ActiveChart.ChartType = xlXYScatterLines
For I = 1 To NbCourbe
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(I).XValues = ici je ne vois pas comment généraliser une plage de données
        ActiveChart.SeriesCollection(I).Values =         
        ActiveChart.SeriesCollection(I).Name =  
Next I

J'espère avoir été assez claire. Merci d'avance.


samedi 6 mai 2006 à 00:29:16 | Re : Séries de données non fixes

jack

Administrateur CodeS-SourceS
Salut
Bah c'est de l'ASCII classique.
Que va rentrer l'utilisateur dans ton InputBox ? R4C1 (dans D1) puis R373C1 (dans D2) ? (je suppose)
Ensuite, il faut isoler le chiffre qui suit le C et le convertir en chiffre pour pouvoir l'incrémenter
Chiffre1 = Val(Mid(D1, Instr(1, D1, "C") + 1))
D1 = Left(D1, Instr(1, D1, "C"))
Chiffre2 = Val(Mid(D2, Instr(1, D2, "C") + 1))
D2 = Left(D1, Instr(1, D2, "C"))
puis l'insérer dans ta boucle où I est l'incrément
ActiveChart.SeriesCollection(I).XValues  = "=Tous!" & D1 & CStr(Chiffre1 + I - 1) & ":" & D2 & CStr(Chiffre2 + I - 1)

ActiveChart.SeriesCollection(I).Values  = "=Tous!" & D1 & CStr(Chiffre1 + I) & ":" & D2 & CStr(Chiffre2 + I)
...
Je viens de voir qu'il faudra aussi isoler le chiffre après le R pour transformer R4 en R2.
Le principe est le même (un peu plus compliqué puisqu'il faut choper le chiffre entre R et C, mais analyse les fonctions de traitement de chaine comme Left, Right et Mid).
A toi de jouer

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro

mercredi 10 mai 2006 à 11:33:33 | Re : Séries de données non fixes

Emakhtila

en fait dans mon inputbox, l'utilisateur va juste renter 2 s'il a 2 groupes ou 3 s'il en a 3.

mercredi 10 mai 2006 à 16:18:59 | Re : Séries de données non fixes

Emakhtila

merci de ton aide. Cela m'a beaucoup aidé. Bye



Cette discussion est classé dans : données, graphique, activechart, seriescollection, séries


Répondre à ce message

Sujets en rapport avec ce message

Graphique(courbe) à partir de 2 séries de données [ par niouk ] Je dispose de 2 séries de données dans un contrôle MSFlexGrid dans les colonnes 0 et 1. Comment faire pour afficher un graphique avec 2 courbes simult Graphique(courbe) à partir de 2 séries de données [ par niouk ] Je dispose de 2 séries de données dans un contrôle MSFlexGrid dans les colonnes 0 et 1. Comment faire pour afficher un graphique avec 2 courbes simult Problème déplacement graphique vba [ par idemnico1 ] je cree en VBA un graphique par la manière suivanteCharts.Add ActiveChart.ChartType = xlLineMarkers ActiveChart.SeriesCollection.NewSeries Macro sous Excel [ par cindaille ] BonjourJ'ai un graphique que je veux mettre à jour.Grâce à une macro, j'efface les données précédentes du graphe et je rentre les nouvelles données.Mo Définition graphique [ par nanardino64 ] Bonsoir, Mon problème cette fois ci est le suivant :Je souhaite créer un graphique avec du code mais il se passe des choses bizarres... Voilà le code excel vba aide sur un graphique [ par celia62 ] tout d'abord bonjour à tous et merci d'avance pour les gens qui prendront le temps de regarder cette question!je vous explique mon problème je travail Séléctionner graphique Excel [ par Marneus73 ] Bonjour à tous, J'ai un petit propblème avec la macro d'excel. Je voudrais séléctionner un graphique et changer la couleur des barres (c'est un hist vba excel graphique avec série de données non fixes [ par celia62 ] tout d'abord bonjour à tous et merci d'avance pour les gens qui prendront le temps de regarder cette question!je vous explique mon problème je travail Définir les données a visionner dans un graphique [ par kaira008 ] Bonjour a tous,Voila j'ai une base de donnée access avec des données a l'intérieur je m'en sert pour tracer un graphique sous excel. Donc pour résumer Séries de données dans des graphiques [ par MSau ] Bonjour,J'ai un problème sur lequel je galère depuis hier... J'explique mon objectif: à partir d'une zone d'impression excel de 47 lignes dans laquell


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.