Création graphe par macro sur une même feuille

kris12

XLDnaute Nouveau
Bonjour à tous,

alors voilà mon problème : j'ai déjà utilisé des macros permettant de créer un nouveau graphe sur une nouvelle feuille, mais j'aimerais lui dire cette fois de créer le graphique en tant qu'objet sur une feuille et non plus dans une nouvelle feuille. Voilà le code que j'utilise d'habitude pour générer le graphe :

Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("Résultats").Range("E4:E4"), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=nom

Alors voilà quel code doit remplacer celui en rouge pour créer le graphe en tant qu'objet d'une feuille, ou alors est-ce une méthode totalement différente?

Merci

PS : nom est comme vous l'aurez deviné le nom que je donne au graphe à l'aide de cette même macro (je n'ai pas collé la partie correspondante pensant que cela ne sera a priori d'aucune utilité)
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Création graphe par macro sur une même feuille

Bonjour
l'enregistreur de macro te donne la solution

ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter...

sinon si tu veux déplacer le graphique ou préciser l'aide d'excel te donne ceic
xlLocationAsNewSheet1Le graphique est déplacé dans une nouvelle feuille.
xlLocationAsObject2Le graphique va être incorporé à une feuille existante.
xlLocationAutomatic3Excel détermine l'emplacement du graphique.
 

Pierrot93

XLDnaute Barbatruc
Re : Création graphe par macro sur une même feuille

Bonjour Kris, Misange

une autre approche pour créer un graph sur une feuille de calcul existante :
Code:
Dim c As ChartObject
With Sheets("NomFeuille")
    Set c = .ChartObjects.Add(.Range("A20").Left, .Range("A20").Top, 350, 150)
End With
With c.Chart
    .ChartType = xlLineMarkers
    .SetSourceData Source:=Sheets("NomFeuille").Range("A1:D6"), PlotBy:=xlRows
End With

bonne journée
@+
 

kris12

XLDnaute Nouveau
Re : Création graphe par macro sur une même feuille

Merci Pierrot 93 pour ta réponse aussi, mais j'ai gardé qd même la première solution qui était plus simple pour moi du coup.

Par contre, maintenant que le graphe s'affiche en tant qu'objet et non plus dans une nouvelle feuille, tous les points sont placés sur la même abscisse alors que lorsque je regarde les données du graphe, les points ont pourtant leur bonnes coordonnées (abscisses différentes).

Les points étaient pourtant bien placés lorsque le graphe s'affichait dans une nouvelle feuille. Je ne vois pas d'où peut venir l'erreur.

Si vous avez besoin du code ou que je vous envois le classeur dites moi


Merci d'avance
 

Misange

XLDnaute Barbatruc
Re : Création graphe par macro sur une même feuille

A partir des mêmes données tu fais deux fois ta macro l'une dans une feuille graphique et l'autre en tant qu'objet et tu as ça ?? bizarre bizarre... mets nous un classeur joint ?
 

kris12

XLDnaute Nouveau
Re : Création graphe par macro sur une même feuille

Non non, mon graphique maintenant s'affiche bien en tant qu'objet sur la feuille souhaitait et non plus dans une nouvelle feuille. Le problème c'est que tout mes points s'aligne sur la même abscisse (chose qu'ils ne faisaient pas lorsque mon graphe s'ouvrait dans une nouvelle feuille) malgré qu'ils aient des valeurs différentes et que lorsque je vérifie les données du graphique les abscisses indiquées sont correctes.

Je t'enverrai le classeur un peu plus tard. Je ne l'ai pas en ce moment
 

Misange

XLDnaute Barbatruc
Re : Création graphe par macro sur une même feuille

J'ai bien compris et je répète ma question ; fais les deux macros dans le même classeur à partir des mêmes données, en créant un graphique dans la feuille et un autre en tant qu'objet. Est-ce que tu as ce pb d'abscisses (il n'y a AUCUNE raison sauf si ta macro ne spécifie pas correctement le truc). Autre test, fais le graphique à la main et vois ce que ça donne.
 

kris12

XLDnaute Nouveau
Re : Création graphe par macro sur une même feuille

ah désolé c'est moi qui n'avais pas compris en faite.

Voilà j'ai fais la vérification et j'ai vu pourquoi il m'affichait tout les points sur la même abscisse.

Alors à la base je voudrais que mon graphe s'affiche comme l'exemple joint (graph1). Pour cela j'utilise le type de graphique "nuage de points avec marqueurs uniquement". Par contre dans certains cas je veux voir l'influence de paramètres n'ayant pas de valeurs numérique en abscisse, comme le type de ventilation naturelle (ventilation diurne ou nocturne) et avec ce type de graphe il ne m'affiche pas en abscisse la stratégie de ventialtion souhaitée mais seulement des valeurs numérique ne correspondant donc à rien et en plus il ne reconnait plus les différences entre ventilation diurne et nocturne (voir graph 2). Alors pour cela je change le type de graphique et utilise le type "courbe avec marques", mais comme expliqué tout à l'heure dans ce cas il me place tous mes point sur le même abscisse, que ce soit pour des paramètres chiffrés comme les charges internes, ou non chiffrés comme la stratégie de ventialtion naturelle (voir graph3)
 

Pièces jointes

  • graph1.jpg
    graph1.jpg
    26.1 KB · Affichages: 104
  • graph2.jpg
    graph2.jpg
    25.8 KB · Affichages: 112
  • graph3.jpg
    graph3.jpg
    25 KB · Affichages: 100
  • graph1.jpg
    graph1.jpg
    26.1 KB · Affichages: 110
  • graph2.jpg
    graph2.jpg
    25.8 KB · Affichages: 103
  • graph1.jpg
    graph1.jpg
    26.1 KB · Affichages: 121
  • graph2.jpg
    graph2.jpg
    25.8 KB · Affichages: 100
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Création graphe par macro sur une même feuille

Là ce n'est plus un pb de macro !
Il n'y a pas 36 solutions dans ces cas là, il faut bidouiller, affecter une fausse valeur d'abscisse à ce qui est en fait une catégorie. Je fais ça très très souvent.
tu décides que ventilation diurne=1, ventilation nocture = 2, tu fais un graphique en nuages de points, tu ne demandes pas d'affichage des valeurs sur l'axe et tu colles des étiquettes dans des boites de texte. C'est casse pieds mais il n'y a pas de solution autre.
 

kris12

XLDnaute Nouveau
Re : Création graphe par macro sur une même feuille

Salut Misange,

Désolé de répondre si tard, mais étant occupé sur d’autres sujets je n’ai pas pu me replonger avant dans ce problème. Merci de ta réponse, je pense pouvoir résoudre ça sans trop de pb. Cependant, en retravaillant ma macro et en essayant de l’améliorer, je me suis retrouvé face à un autre pb.
Voilà, en faite comme montrer dans les graphes précédemment attachés, j’affiche mais point sous forme de rond. Je voudrais créer une autre option qui fait que, en fonction du nouveau paramètre que je sélectionne dans une liste (est donc présent dans le tableau dont j’ai parlé précédemment) le graphe change de formes si ce paramètre prend des valeurs différentes.
J’attache mon classeur pour que ca soit plus parlant. En faite mon graphe se trouve dans l’onglet résultat. Mon graphe se trace en fonction du paramètre affiché dans la liste and C41. Il va chercher les valeurs de ce paramètre dans le tableau de l’onglet « Définition des cas ». J’obtiens donc mon graphe. Ensuite en F41 j’affiche un second paramètre de ce tableau, et je lui demande que si ce paramètre prend des valeurs différentes il me change la forme de celui-ci (triangle par exemple). Donc je devrais me retrouver avec des rond et des triangles mais là in ne m’affiche que des triangles partout.

J’ai le code affiché dans le module appelé résultat.

PS : Certaines choses ne sont pas finies ou mises au point dans la macro pour les autres feuilles mais ne pas s’en soucier.
 

Pièces jointes

  • Utilitaire_étude_paramétrique.zip
    141.1 KB · Affichages: 36

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 346
Membres
102 868
dernier inscrit
JJV