VBA - Impossible de faire sélectionner une série d'un graphique

Le
Vince
Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est pourtant la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4627091
Bonjour.
Peux tu poster les données de la plage servant à construire le graphique.
Mets-les dans un classeur sur www.cjoint.com et poste l'adresse générée.
Cordialement.
Daniel
"Vince"
Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est pourtant
la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With


Vince
Le #4626751
Nickel ce cjoint. Je connaissais pas...

Voilà le fichier:

http://cjoint.com/?htolxvWYQQ

Ce sont des données exportées depuis Bloomberg.

Merci d'avance de ton aide.

a+
Vincent


Bonjour.
Peux tu poster les données de la plage servant à construire le graphique.
Mets-les dans un classeur sur www.cjoint.com et poste l'adresse générée.
Cordialement.
Daniel
"Vince"
Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est pourtant
la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With







Daniel
Le #4624401
J'ai du mal.
Tu fais appel à une macro qui n'existe pas dans le classeur. Résultat, je me
retrouve avec des cellules donnant des résultats #REF!
Peux-tu mettre les données telles qu'elles sont au moment où tu commences la
construction du classeur. C'est à dire là où je peux exécuter la macro à
partir de la ligne :
Range("g1:i1").Select
Daniel
"Vince"
Nickel ce cjoint. Je connaissais pas...

Voilà le fichier:

http://cjoint.com/?htolxvWYQQ

Ce sont des données exportées depuis Bloomberg.

Merci d'avance de ton aide.

a+
Vincent


Bonjour.
Peux tu poster les données de la plage servant à construire le graphique.
Mets-les dans un classeur sur www.cjoint.com et poste l'adresse générée.
Cordialement.
Daniel
"Vince" news:

Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un
graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est
pourtant
la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se
passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:=
_
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With









Daniel
Le #4624351
OK, j'ai compris. C'est dur aujourd'hui.
Daniel
"Vince"
Nickel ce cjoint. Je connaissais pas...

Voilà le fichier:

http://cjoint.com/?htolxvWYQQ

Ce sont des données exportées depuis Bloomberg.

Merci d'avance de ton aide.

a+
Vincent


Bonjour.
Peux tu poster les données de la plage servant à construire le graphique.
Mets-les dans un classeur sur www.cjoint.com et poste l'adresse générée.
Cordialement.
Daniel
"Vince" news:

Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un
graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est
pourtant
la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se
passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:=
_
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With









Daniel
Le #4624301
J'ai exécuté ton code sans erreur.
Daniel
"Vince"
Nickel ce cjoint. Je connaissais pas...

Voilà le fichier:

http://cjoint.com/?htolxvWYQQ

Ce sont des données exportées depuis Bloomberg.

Merci d'avance de ton aide.

a+
Vincent


Bonjour.
Peux tu poster les données de la plage servant à construire le graphique.
Mets-les dans un classeur sur www.cjoint.com et poste l'adresse générée.
Cordialement.
Daniel
"Vince" news:

Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un
graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est
pourtant
la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se
passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:=
_
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With









Vince
Le #4867131
Justement c'est là le problème. Quand je t'ai préparé le fichier, j'ai aussi
constaté que le code s'exécutait sans erreur. C'est incroyable car le même
code ne fonctionne pas quand il est intégré à tout le reste.

Je pense que cela vient du fait que mes données sont encore N/A au moment où
elles doivent être traitées car elles ne s'actualisent qu'une fois la macro
terminée.

C'est un autre gros problème que j'ai actuellement. Comme ce sont des liens
API vers Bloomberg, cela met du temps à s'afficher. Tu peux voir mon autre
post "faire faire une pause à une macro" que j'ai écrit hier mais aucune des
solutions proposées ne fonctionnent. Je pense que je vais devoir faire deux
macros.

Merci quand même de ton aide et bonne journée


J'ai exécuté ton code sans erreur.
Daniel
"Vince"
Nickel ce cjoint. Je connaissais pas...

Voilà le fichier:

http://cjoint.com/?htolxvWYQQ

Ce sont des données exportées depuis Bloomberg.

Merci d'avance de ton aide.

a+
Vincent


Bonjour.
Peux tu poster les données de la plage servant à construire le graphique.
Mets-les dans un classeur sur www.cjoint.com et poste l'adresse générée.
Cordialement.
Daniel
"Vince" news:

Bonjour à tous

Le code suivant est censé sélectionner la série par défaut d'un
graphique
qui vient d'être créé mais cela me génère une erreur 1004. C'est
pourtant
la
ligne de code qui est sortie de l'enregisteur de macro. L'erreur se
passe
lorsque le code atteint la ligne suivante:
ActiveChart.SeriesCollection(1).Select

Est-ce quelqu'un peut m'aider ?

Merci d'avance et bonne soirée.

Vince

Range("G2:I2").Select
Range(Selection, Selection.End(xlDown)).Select
A = Range([G2], [I65536].End(xlUp)).Address

Charts.Add
ActiveChart.ChartType = xlBubble3DEffect
ActiveChart.SetSourceData Source:=Sheets("bonds").Range(A), PlotBy:=
_
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="bonds"

ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Name = "=""Bubbles"""

ActiveChart.SeriesCollection(1).Select

With ActiveChart.ChartGroups(1)
.VaryByCategories = False
.ShowNegativeBubbles = False
.SizeRepresents = xlSizeIsWidth
.BubbleScale = 60
End With

With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnitIsAuto = True
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
.TickLabels.NumberFormatLinked = True
End With














Daniel
Le #4867081
Je pense que cela vient du fait que mes données sont encore N/A au moment

elles doivent être traitées car elles ne s'actualisent qu'une fois la
macro
terminée.


Essaie d'ajouter :
Application.Calculate
avant de construire ton graphique. D'autre part, en exécutant ta macro pas à
pas ou en plaçant un point d'arrêt avant la construction du graphique, tu
peux vérifier si la feuille se recalcule.
Daniel

Vince
Le #4866961
Non ça marche pas.
Comme je l'ai dit dans mon autre post, le lien avec Bloomberg ne s'active
que lorsque la macro se termine.

Je pense que je vais demander à la macro de créer un bouton avant de se
terminer et ce sera à l'utilisateur de cliquer pour lancer la suite... je
vais voir...

Merci A+


Je pense que cela vient du fait que mes données sont encore N/A au moment

elles doivent être traitées car elles ne s'actualisent qu'une fois la
macro
terminée.


Essaie d'ajouter :
Application.Calculate
avant de construire ton graphique. D'autre part, en exécutant ta macro pas à
pas ou en plaçant un point d'arrêt avant la construction du graphique, tu
peux vérifier si la feuille se recalcule.
Daniel






Publicité
Poster une réponse
Anonyme