• Initiateur de la discussion Initiateur de la discussion chuinul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chuinul

XLDnaute Occasionnel
Bonsoir à tous,

Voilà je suis entraint de faire des graphe et j'aimerai bien qu'il soit automatiser.

Je m'explique. Je sais faire la macro d'un graph ainsi que les séries qui vont avec. Mais j'aimerais bien ne pas avoir a taper a la main toutes les séries.
Et faire une boucle qui créer toutes les séries jusqu'a ce qu'il n'y ait plus de coordonnées.


Voici ce que j'avais pensé faire :

Charts.Add

ActiveChart.ChartType = xlXYScatterLinesNoMarkers

DerCol = Worksheets("Feuil3").Range("IV1").End(xlToLeft).Column

For c = 1 To DerCol

For i = 1 To DerCol

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).XValues = "=Feuil3!Ci"
ActiveChart.SeriesCollection(1).Values = "=Feuil3!Ci"
ActiveChart.SeriesCollection(1).Name = "=""Piste T"""
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _
"Graphe_Positions_Pistes"
Next i
Next c

Ca ne marche pas et je m'en doutais donc je fait appel a vous pour voir comment je devrais m'y prendre.

Un exemple est en piece jointe.


Merci d'avance
 

Pièces jointes

Re : Graph automatique

Bonjour à tous,

Voilà je réitère ma demande d'aide pour mon problème (voir post ci dessus).

J'ai modifier mon code et ca fait planter Excel:

Charts.Add

ActiveChart.ChartType = xlXYScatterLinesNoMarkers

For Each FirstValue In Sheets("Feuil3").Range("A1:IV1")

For Each DerVal In Sheets("Feuil3").Range("A65536:IV65536")

For c = 1 To 6

For j = 1 To 6

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(j).XValues =_ "=Feuil3!RFirstValueCj:RDerValCj"
ActiveChart.SeriesCollection(j).Values =_ "=Feuil3!RFirstValueCj+1:RDerValCj+1"
ActiveChart.SeriesCollection(j).Name = "=""Piste T"""
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _
"Graphe_Positions"

j = j + 1

Next j

c = c + 1

Next c
Next
Next

Si quelqu'un pouvais m'aider.

Merci d'avance
 
Re : Graph automatique

Bonjour,

Voici ce que j'ai pu faire avec l'enregistreur de macro.
Je pense que dans ton cas, il vaut mieux l'utiliser. Cela permet d'avoir un début de code puis de l'adapter. La première macro n'as pas focntionné. Puis j'ai ôter le x qui souvent pose des problèmes pour des graph XY. La seconde macro, c'est mieux, c'est un début mais avec l'enregistreur, en t'entraînant, c'est beaucoup plus pratique et plus rapide.

Se lancer à corps perdu dans du code en le tapant risque de ne pas marcher (surtout si tu es nul!).

Ensuite, il suffit d'adapter le code en conséquence (en bouclant sur le nombre de colonnes etc... mais, la il faut avoir un peu d'expérience en VBA).
 

Pièces jointes

Re : Graph automatique

Salut MJ

Tout d'abord je te remerci de m'avoir répondu car tu est le seul depuis hier.

Alors pour enregistrer le graph en macro y a pas de pb mais c'est les boucles qui me gènent.

Aurais tu une solution sur le code de mon dernier post?

Merci d'avance
 
Re : Graph automatique PB

Re boujour a tous,

Bon je sais pas si ce que je veux faire est possible ou pas parceque personne ne me répond !!!!!

C'est toujours le même problème à savoir créer une macro qui créer automatiquement des séries pour un graph.

Je peux avoir à tracer 10 courbes comme 50.

J'ai une nouvelle version mais qui ne marche que pour 3 courbes, la quatrième n'est pas pris en compte alors que la cinquième l'est!!!!

Si c'est pas très claire voir le .xls joint.

Si quelqu'un avait une idée pour m'aider...

Merci.
 
Re : Graph automatique

Salut MJ,

Quelle est la ligne de commande pour pouvoir tracer mes Courbes en pointillés.

Avec l'enregistreur de macros ca me dit :

ActiveChart.SeriesCollection(7).Select
With Selection.Border
.Weight = xlThin
.LineStyle = xlAutomatic
End With
With Selection
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlAutomatic
.MarkerStyle = xlNone
.Smooth = False
.MarkerSize = 5
.Shadow = False
End With
ActiveChart.PlotArea.Select

Mais le PB c'est que je ne sais pas ou le mettre dans ton code pour que cela soit pris en compte....


Merci d'avance et bonne journée
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
670
Réponses
0
Affichages
657
Réponses
6
Affichages
963
Réponses
8
Affichages
1 K
S
Réponses
5
Affichages
979
M
Réponses
0
Affichages
1 K
mariebasile
M
D
Réponses
1
Affichages
939
DelphineDF
D
A
Réponses
17
Affichages
4 K
Abdenour
A
T
Réponses
3
Affichages
1 K
T
Retour