cs_yoyo74
Messages postés3Date d'inscriptionsamedi 26 août 2006StatutMembreDernière intervention17 septembre 2006
-
14 sept. 2006 à 09:13
cs_yoyo74
Messages postés3Date d'inscriptionsamedi 26 août 2006StatutMembreDernière intervention17 septembre 2006
-
17 sept. 2006 à 11:05
j'ai un problème avec un nuage de point sur excel (le logiciel ne
digère pas le nombre de données que je veux traiter + 180) et je
cherche à faire une itération pour affecter à chaque point sa
bonne valeur x et sa bonne valeur y , mais je n'ai pas trouvé de
solution
voilà ce que j'ai essayé de pondre !
Sub testyoyo()
Dim feuille As String
Dim n As Integer
Dim m As Integer
Dim a As Integer
Dim i As Integer
Dim j As Integer
feuille = InputBox("enter the sheet name", ["sheet name"])
n = InputBox("enter the firstline value ", ["first line value position"])
m = InputBox("enter the firstcolumnvalue ", ["first column value position"])
Sheets(feuille).Select
a = m
While Cells(n, m) <> ""
m = m + 1
Wend
Charts.Add
ActiveChart.ChartType = xlXYScatter
'allors là j'ai un problème pour sélectionner le tableau !!!!!!
'ActiveChart.SetSourceData Source:=Sheets(feuille).Range(n&a:n+1 & m), PlotBy:=xlRows
michelxld
Messages postés402Date d'inscriptionvendredi 6 août 2004StatutMembreDernière intervention12 octobre 200832 14 sept. 2006 à 16:43
bonjour
je n'ai pas paufiné la procédure mais tu peux deja tester cette adaptation
Dim feuille As String
Dim n As Integer
Dim m As Integer
Dim a As Integer
Dim i As Integer
Dim j As Integer
Dim Plage As Range
Dim PlageX As Range, PlageY As Range
feuille = InputBox("enter the sheet name", ["sheet name"])
n = InputBox("enter the firstline value ", ["first line value position"])
m = InputBox("enter the firstcolumnvalue ", ["first column value position"])
Sheets(feuille).Select
a = m
While Cells(n, m) <> ""
m = m + 1
Wend
Charts.Add
ActiveChart.ChartType = xlXYScatter
Set Plage = Sheets(feuille).Range(Sheets(feuille).Cells(n, a).Address, _
Sheets(feuille).Cells(n + 1, m).Address)
'allors là j'ai un problème pour sélectionner le tableau !!!!!!
'ActiveChart.SetSourceData Source:=Sheets(feuille).Range(n&a:n+1 & m), PlotBy:=xlRows
ActiveChart.SetSourceData Source:=Plage, PlotBy:=xlRows
j = 1
For i = a To m - 1
Set PlageX = Sheets(feuille).Cells(n, i)
Set PlageY = Sheets(feuille).Cells(n + 1, i)
'ici j'ai pensé changer la valeur de la série avec mon itération mais il veut pas !!!!
If i > 1 Then ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(j).XValues = PlageX
ActiveChart.SeriesCollection(j).Values = PlageY
End With
j = j + 1
Next i
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart.Axes(xlCategory)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
With ActiveChart.Axes(xlValue)
.HasMajorGridlines = False
.HasMinorGridlines = False
End With
cs_yoyo74
Messages postés3Date d'inscriptionsamedi 26 août 2006StatutMembreDernière intervention17 septembre 2006 15 sept. 2006 à 11:27
je viens de le tester et malheureusement il bog sur la ligne suivante :
Set Plage = Sheets(feuille).Range(Sheets(feuille).Cells(n, a).Address, _
Sheets(feuille).Cells(n + 1, m).Address)
le problème est que je me suis rendu compte que pour avoir un graphique
qui fonctionne je doit le mettre en ligne : 1ère : le nom du pays
deuxième le montant du PIB et la troisème le montant du commerce
extèrieur
dans ce cas là le graphique me fait apparaître le nuage de points mais
je dois reprendre chaque point pour lui affecter la bonne cellule pour
la valeur x et la valeur y !!
mais je n'ai pas trouvé le moyen de mettre mon fichier en pièce jointe pour que vous puissiez voir !
cs_yoyo74
Messages postés3Date d'inscriptionsamedi 26 août 2006StatutMembreDernière intervention17 septembre 2006 17 sept. 2006 à 11:05
je dois être crochu car il ne ma pose qu'un seul point !
je ne comprend pas ce que tu entends par adapter la ligne à mon
classeur ? ! mais si tu veux je peux te faire parvenir mon fichier tu
coprendrais mieux ?