Ajouter une nouvelle courbe sur un graphique en fonction du ieme clic

  • Initiateur de la discussion Initiateur de la discussion Bolou
  • 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 !

Bolou

XLDnaute Nouveau
Bonjour le forum,

Voici quelques jours que je cherche sans succès un moyen d'ajouter des courbes sur mon graphique en fonction du ième clique.
Concrètement, dans le code si après (qui marche à peu près bien), pour générer mes différentes courbes, après la première, j'écris dans la cellule I1 le chiffre (2 ou 3 ou 4....).

Il y a t'il moyen de contourner cette parade en créant par exemple un compteur des clics qui serait remplacé par "nb".

Aller trop de bavardage, voici le code.

Merci de vos apports!

Sub Graph()

Dim dl As Long, c As Range, nb As Integer

nb = Sheets("DV").Range("I1").Value
dl = Sheets("Graphe").Range("A" & Rows.Count).End(xlUp).Row

On Error GoTo GestError

Set Grph = Sheets("DV").ChartObjects("Graphique 1")
If Not Grph Is Nothing Then 'MsgBox "Le graphique existe"
Grph.Activate
With ActiveChart
.ChartArea.Select
.SeriesCollection.NewSeries
.SeriesCollection(nb).XValues = ThisWorkbook.Sheets("Graphe").Range("a2:a" & dl).Value
.SeriesCollection(nb).Values = ThisWorkbook.Sheets("Graphe").Range("b2:b" & dl).Value
.SeriesCollection(nb).Name = ThisWorkbook.Sheets("DV").Range("F2").Value
End With
Else
GestError:

Set c = Sheets("Graphe").Range("A2:B" & dl)
Set dv = ThisWorkbook.Charts.Add
With dv
.SetSourceData Source:=c, PlotBy:=xlColumns
.SeriesCollection(1).XValues = ThisWorkbook.Sheets("Graphe").Range("a2:a" & dl).Value
.SeriesCollection(1).Values = ThisWorkbook.Sheets("Graphe").Range("b2:b" & dl).Value
.SeriesCollection(1).Name = ThisWorkbook.Sheets("DV").Range("F2").Value

End With

With dv
.HasTitle = True
.ChartType = xlLine
.Location Where:=xlLocationAsObject, Name:="DV"

End With

Set Z = ActiveChart
Z.ChartTitle.Characters.Text = "Courbe de tendance engrais"
Z.Axes(xlValue, xlPrimary).HasTitle = True
Z.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Prix"
Z.Axes(xlCategory, xlPrimary).HasTitle = False
Z.ChartArea.Font.Size = 14

Application.ScreenUpdating = True
'faire le ménage
Set dv = Nothing
'Set gr = Nothing

'Dimension du graphique

Dim FL1 As Worksheet
Dim ChObj As ChartObject

Set FL1 = Sheets("DV")
Set ChObj = FL1.ChartObjects(FL1.ChartObjects.Count)

'pour dimensionner le graphique
With ChObj
.Height = 410
.Width = 1400
.Top = [A4].Top
.Left = [A4].Left
End With

'pour dimensionner la zone de traçage
With ChObj.Chart.PlotArea
.Height = 800
.Width = 1100
.Left = 15
.Top = 35
End With



End If
End Sub
 
Re : Ajouter une nouvelle courbe sur un graphique en fonction du ieme clic

Bonjour @tototiti2008 ,


Je vous joint une partie de mon fichier.
Voici son fonctionnement:


1) Dans la feuil DV, on fait le choix des critères dont on veux analyser l’évolution (liste de choix déroulante en cascade)
2) Puis on définit la période (Date début date fin)
3) En exécutant la macro, on obtient une première courbe
4) Pour obtenir la 2ème courbe on refait la (1), on ajoute "2" (pour 2eme courbe) en I1 puis on excéute à nouveau, une 2ème courbe s'affiche sur le graphique... jusqu'à la n ième courbe qu'on veut.


Ma question: Est il possible de calculer automatiquement la valeur en I1 afin de ne pas la remplir à la mano?


Merci pour vos apports
 

Pièces jointes

Re : Ajouter une nouvelle courbe sur un graphique en fonction du ieme clic

Bonjour
Coucou à Tototiti 🙂

Sans rentrer dans le détail : avec
Code:
worksheets("DV").range("I1)"=worksheets("DV").range("I1)".value +1
cela devrait le faire.

Voir si une solution par GCD avec des segments pour filtrer ne ferait pas la même chose plus simplement...
 
- 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
520
Réponses
0
Affichages
459
Réponses
0
Affichages
789
Retour