maxmanue
Messages postés2Date d'inscriptionvendredi 13 août 2010StatutMembreDernière intervention13 août 2010
-
13 août 2010 à 11:05
maxmanue
Messages postés2Date d'inscriptionvendredi 13 août 2010StatutMembreDernière intervention13 août 2010
-
13 août 2010 à 11:52
Bonjour à tous,
Je suis actuellement en stage dans un labo et je dois faire un programme sur Excel.
Celui-ci demande à l'utilisateur combien de sous domaines il veux, ensuite demande pour chaque sous domaines les valeurs xmin, xmax, ymin, ymax. J'ai réussi à faire une macro qui fait tout cela, mais maintenant j'ai besoin de créer sur un seul graphique le tracer des valeurs pour chaque sous domaines. Pour imager un peu mon propos, je veux dessiner des rectangles donc pour cela je fait des tableaux pour chaque sous domaines du type:
sous domaine 1
0 0
1 0
1 1
0 1
0 0
Ainsi quand je créer avec ce tableau, un nuage de points avec lignes droites, je vois apparaitre un rectangle.
Cependant je n'arrive pas à faire ceci à l'aide d'une boucle, j'ai toujours un message d'erreur et je ne comprend pas pourquoi, voici la macro que j'ai faite,(je suis debutant en VB, donc soyez indulgent):
Sub graph()
Dim a, b, c As Integer
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLines
ActiveWindow.SmallScroll Down:=12
a = 17
b = 18
c = 22
For i = 1 To subdomain
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(i).Name = "='Feuil1'!$C$ & a"
ActiveChart.SeriesCollection(i).XValues = "='Feuil1'!$C$ & b:$C$ & c"
ActiveChart.SeriesCollection(i).Values = "='Feuil1'!$E$ & b:$E$ & c"
a = a + 6
b = b + 6
c = c + 6
Next
End Sub
Le a b c permet de se déplacer dans la feuille de calculs car les tableaux sont les uns en dessous des autres.
Je vous remercie par avance pour le temps que vous passerez à m'aider.
Maxime
A voir également:
Comment tracer plusieurs courbes sur un meme graphe excel
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 13 août 2010 à 11:22
Salut
Sous quelle version de Excel travailles-tu ? 2003, 2007, 2010; SP ?
Tes chaines d'affectation ne sont pas correctes.
Il faut sortir de la chaine pour y insérer tes variables.
Exemple :
"='Feuil1'!$C$ & b:$C$ & c"
-->
"='Feuil1'!$C$" & CStr(b) & ":$C$" & CStr(c)
A revoir aussi, pour le même type de correction :
"='Feuil1'!$C$ & a"
et
"='Feuil1'!$E$ & b:$E$ & c"
Une solution très pratique consiste à enregistrer une macro pendant que tu :
- sélectionnes un, deux trois, X zones de données sur ta feuille
- crées un graphique qui prendra ces diverses zones pour données sources
- etc
Tu récupèreras ainsi le code tout fait, tu n'auras plus qu'à le modifier pour y insérer tes variables, mais en respectant la syntaxe VB.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
maxmanue
Messages postés2Date d'inscriptionvendredi 13 août 2010StatutMembreDernière intervention13 août 2010 13 août 2010 à 11:52
Salut Jack,
J'utilise Excel 2007, je viens de tester ta correction et ça marche à la perfection, merci beaucoup, je pense que je posterai d'autre problème car le programme est très long(donc beaucoup de soucis...)