Courbe avec cellules actives (excel)
Résolu
yannBP
Messages postés
10
Statut
Membre
-
yannBP Messages postés 10 Statut Membre -
yannBP Messages postés 10 Statut Membre -
Bonjour,
J'ai fabriqué une macro, qui me trace la courbe de pionts sellectionnés dans une feuille, en mode enregistrement. Voici le résultat :
Range("B1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("I=f(U)").Range("B1:C734")
ActiveChart.Location Where:=xlLocationAsObject, Name:="I=f(U)"
Maintenant, le nombre de point n'étant pas toujours 734, je voudrais remplacer ce programme par :
Range("B1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("I=f(U)").ActiveRange
ActiveChart.Location Where:=xlLocationAsObject, Name:="I=f(U)"
Mais cela ne fonctionne pas.
Quelqu'un pourait-il me dire pourquoi, et comment faire pour que cela fonctionne ?
merci.
J'ai fabriqué une macro, qui me trace la courbe de pionts sellectionnés dans une feuille, en mode enregistrement. Voici le résultat :
Range("B1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("I=f(U)").Range("B1:C734")
ActiveChart.Location Where:=xlLocationAsObject, Name:="I=f(U)"
Maintenant, le nombre de point n'étant pas toujours 734, je voudrais remplacer ce programme par :
Range("B1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("I=f(U)").ActiveRange
ActiveChart.Location Where:=xlLocationAsObject, Name:="I=f(U)"
Mais cela ne fonctionne pas.
Quelqu'un pourait-il me dire pourquoi, et comment faire pour que cela fonctionne ?
merci.
Configuration: Windows XP Internet Explorer 7.0
4 réponses
-
Bonjour,
tu peux contourner le problème en créant une variable Range (ici nommée Zone) qui correspond à ta plage de données.
Range("B1:C1").Select
Range(Selection, Selection.End(xlDown)).Select
Dim Zone As Range: Set Zone = Selection
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Zone
ActiveChart.Location Where:=xlLocationAsObject, Name:="I=f(U)"
I. -
Merci Ivan-hoe,
cela fonctionne parfaitement.
Je me demande quand même pourquoi il accepte la fonction "zone" et pas la fonction activeRange
quelqu'un saurait-il me le dire ? -
Salut,
Ici, "Zone" n'est pas une fonction, mais une variable de type Range que tu as définie avec Dim Zone as Range. On lui affecte la valeur voulue avec Set Zone = Selection et on la réutilise un peu plus loin.
Quant à Activerange, je ne suis pas sûr que ça existe.
I. -
Il me semblait avoir déjà vu cette fonction.
Bref
Merci encore.