Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

8 réponses
Avatar
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

8 réponses

Avatar
Daniel
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" a écrit dans le message de 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


Avatar
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" a écrit dans le message de 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







Avatar
Daniel
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" a écrit dans le message de news:

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" a écrit dans le message de
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









Avatar
Daniel
OK, j'ai compris. C'est dur aujourd'hui.
Daniel
"Vince" a écrit dans le message de news:

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" a écrit dans le message de
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









Avatar
Daniel
J'ai exécuté ton code sans erreur.
Daniel
"Vince" a écrit dans le message de news:

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" a écrit dans le message de
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









Avatar
Vince
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" a écrit dans le message de news:

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" a écrit dans le message de
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














Avatar
Daniel
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

Avatar
Vince
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