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   -
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 :

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.
A voir également:

5 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
D'accord merci. Dans ce cas, vous avez une idée pour avoir un graphique de type courbe où mes abscisses pourraient fonctionner?
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Je viens de tester avec un Right(...) pour n'avoir que les valeurs numériques et vous avez raison. Mais bon... Je n'ai franchement pas besoin des 0.5 entre les valeurs dans le graphique....
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Re,

Cette ligne :

ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"


Plante, j'ai mis le nom "Graphique".

"La méthode 'Location de l'objet_Chart' a échoué"
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Le code peut-il créer cette feuille également?
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
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
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Merci de votre aide :)

Cordialement.
0