Construction d'un graphique
Résolu
Kuartz
Messages postés
852
Date d'inscription
Statut
Membre
Dernière intervention
-
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Kuartz Messages postés 852 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Une demande assez simple mais que je n'arrive à exécuter...
Je voudrais créer un graphique extrêmement simple.
J'ai un tableau excel avec en A les valeurs S1, S2, S3...
En face, en colonne B, les valeurs 10%, 20%, 30%...
Voici mon code :
Le graphique a l'air de fonctionner mais en abscisse, j'ai 1, 1.5, 2. Pourquoi je ne retrouve pas mes S1, S2, S3??
Pourtant si on suit le raisonnement de https://excel.developpez.com/faq/?page=Graphique
Merci de votre aide.
Cordialement.
Une demande assez simple mais que je n'arrive à exécuter...
Je voudrais créer un graphique extrêmement simple.
J'ai un tableau excel avec en A les valeurs S1, S2, S3...
En face, en colonne B, les valeurs 10%, 20%, 30%...
Voici mon code :
Set objRange = Worksheets("Données").Range(Worksheets("Données").Cells(1, 1), Worksheets("Données").Cells(DL2, 2))
Set objChart = ThisWorkbook.Charts.Add
objChart.ChartType = xlXYScatterLines
objChart.SetSourceData objRange, xlColumns
Le graphique a l'air de fonctionner mais en abscisse, j'ai 1, 1.5, 2. Pourquoi je ne retrouve pas mes S1, S2, S3??
Pourtant si on suit le raisonnement de https://excel.developpez.com/faq/?page=Graphique
Merci de votre aide.
Cordialement.
5 réponses
-
Bonjour
Je pense que ton problème vient du fait que tu as choisi le type nuage de poins qui nécessite des abscisse numériques
Cdlmnt -
Pour un type courbe
Sub gr()
Dim objRange As Range
With Sheets("Feuil1")
Set objRange = .Range("A2:B4")
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=objRange
End With
End Sub
Cdlmnt -
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
"Feuil1" est le nom de la feuille qui va recevoir le graphique
Un exemple
http://www.cjoint.com/c/EJnoditNDAt -
Oui
Sub gr()
Dim objRange As Range
Sheets.Add
ActiveSheet.Name = "Graphique"
With Sheets("Feuil1")
Set objRange = .Range("A2:B4")
Charts.Add
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique"
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=objRange
End With
End Sub
Cdlmnt-
Re,
Merci pour toutes ces informations !
Par contre les données ne sont pas du tout bonnes...
J'ai en A 37, 38, 39, 40.
J'ai en B 18%, 11%, 54%, 19%
Le graphique me donne :
En abscisse : 1, 2, 3, 4, 5
En ordonnée : 0, 5, 10, 15, 20, 25, 30, 35, 40
J'aurais voulu avoir en abscisse 37, 38, 39, 40
En ordonnée : 18% 11% 54% 19%
Cordialement.
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Du moment que tes abscisses sont numériques, choisis le type nuage de points (xlXYScatterLines) au lieu du type courbe (xlLineMarkers), tu auras une vraie échelle sur 'axe horizontal
http://www.cjoint.com/c/EJnoQcFTOQt
Là, je plie boutique
Cdlmnt