Résolu Transformer axe de valeurs en catégories et inversement

  • Auteur de la discussion antoine_16
  • Date de début

antoine_16

Nouveau membre
Bonjour,

J'ai un graphique de type "Courbe".
Par défaut, l'axe des abscisses donne des catégories et l'axe des ordonnées donne des valeurs.
Je voudrais que ce soit l'inverse, mais je ne trouve pas de propriété d'axe appropriée dans la pour écrire une macro.

Connaissez-vous une commande particulière qui le permette ?

Merci

Edit : Pas de solution, voir meilleure réponse.
 

antoine_16

Nouveau membre
J'ai trouvé une piste pour mon problème dans la msdn library, à cette adresse :


Seulement je ne sais pas comment forcer l'axe des ordonnées à prendre le type "xlCategory".

Quelqu'un sait-il comment le faire ?

Merci
 

zeb

Modérateur
Salut,

Intéresse-toi à l'argument PlotBy de la méthode SetSourceData() de tes graphiques.
 

antoine_16

Nouveau membre
Salut Zeb,

Merci pour ta suggestion.

J'ai fait un essai avec des données très simple :
_________Ventes___Achats
lundi______5_______3
mardi _____4_______4
mercredi___2_______6

Le code de ma macro est le suivant :
[cpp]Sub CreerGraphCourbes()

Dim conteneur As ChartObject
Dim graphe As Chart

Set conteneur = ActiveSheet.ChartObjects.Add(200, 200, 600, 400)
Set graphe = conteneur.Chart

graphe.ChartType = xlLine
graphe.SetSourceData Source:=Range("A1:C4"), PlotBy:=Excel.XlRowCol.xlColumns

End Sub[/cpp]
J'ai essayé de ranger mes intitulés (lundi, mardi, mercredi) en première ligne, en dernière ligne, en première colonne, en dernière colonne, et à chaque fois j'ai essayé xlRows et xlColumns comme valeur de PlotBy.

Dans aucun de ces cas je n'ai obtenu les intitulés en ordonnée, il met toujours des valeurs numériques.

Peut-être n'est-ce tout simplement pas possible de changer les types d'axes d'un type de graphique donné ?
 

zeb

Modérateur
Oh, le joli code plein de Dim et de Set :love:
Rien que ça, ça mérite que je regarde un peu plus ;)

.....
 

zeb

Modérateur
euh....... J'ai bien regardé mais c'est le type xlLine qui fait que les données progressent de la gauche vers la droite et non pas du bas vers le haut. Le type que tu voudrais adopter n'existe pas. :/

:spamafote:
 

antoine_16

Nouveau membre
Merci Zeb.
Au passage je te signale que mon code est directement
Effectivement le type de graphique qui trace une courbe et donne des catégories en ordonnées n'existe pas.
Mais je pensais qu'on pouvais changer les propriétés des axes afin d'obtenir, sans bidouiller, ce genre de graphique (dans ce cas-ci obtenu en bidouillant) :
Vous devez être connecté pour voir les images.

Sinon est-ce que quelqu'un sait si on peut créer un nouveau type de graphique ?
 

zeb

Modérateur
Oh, mes réponses sont donc parfois utiles :merci:
J'avais regardé à faire quelque chose comme un type personnalisé, mais je nai rien trouvé d'intéressant. :(
 

antoine_16

Nouveau membre
Meilleure réponse
Conclusion pour vous éviter de tout lire.

Il n'existe aucun type de graphique qui permette de tracer des courbes verticales avec des libellés textes en ordonnées et des valeurs numériques en abscisses.

Il n'y a aucun moyen de transformer un axe de valeurs en axe de catégories ou inversement avec une macro.

Ceci bien sûr d'après nos modestes connaissances. Si quelqu'un en sait plus, n'hésitez pas.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 098
Messages
6 717 068
Membres
1 586 286
Dernier membre
petitangebleu1977
Partager cette page
Haut