Créer un graphique via VBA

Bonjour les amis,

J'ai cherché activement et je n'ai pas trouvé de réponse à mon problème. J'ai un tableau VBA à 2 colonne représentant respectivement l'abscisse et l'ordonnée d'une fonction. Je souhaite porter directement ces données sur un graphique, comment m'y prendre ?

merci

Bonjour,

Voici un premier élément de réponse réalisé à l'aide de l'enregistreur de macro

    ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmooth).Select
    ActiveChart.SetSourceData Source:=Range("A2:B11")

à adapter selon votre plage de cellule, le graphique souhaité etc..

dans mon exemple c'est A2:B11

Slts,

Bonjour gabin,

je te remercie pour ta réponse. Cependant, je pense ne pas avoir été suffisamment clair : quand je dis directement c'est justement sans passer par une plage de cellule dans une feuille, je souhaite convertir directement les données de mon tableau VBA en graphique

Re,

En effet nous avons peu d'informations sur le problème..

A ma connaissance on ne peut pas créer de graphique en VBA donc il va falloir obligatoirement le créer sur Excel, puis l'exporter sous forme d'image pour l'afficher en VBA.

L'affichage se fera sur un Userform je suppose ?

Voici une nouvelle proposition (Attention, veiller à bien sauvegarder l'emplacement du classeur sinon la macro risque de ne pas fonctionner)

les données de mon tableau VBA

qu'appels tu Tableau VBA ?

Re Gabin, je te remercie de l'intérêt que tu portes à ma question.

Je réexplique plus complètement :

Par exemple soit la fonction y = x². Je fais une boucle pour remplir un tableau récapitulatif telle que :

for i = 1 to 100
x = i 
y = x^2
tableau_resultat(i,1)=x
tableau_resultat(i,2)=y 
next i 

Je souhaiterais ensuite porter ce qui se trouve dans tableau_resultat sur un graphique existant se trouvant dans une feuille de mon classeur, avec en abscisses les données de tableau_resultat(i,1) et en ordonnée tableau_resultat(i,2) mais sans devoir passer par l'écriture de ces données dans la feuille ( autrement dit éviter la méthode classique écriture dans une plage --> référence de cette plage via les options du graphe). A moins que ce by-pass ne soit pas possible ?

En espérant avoir été plus clair, je ne vois pas ce que je peux dire de plus

Re,

A moins que ce by-pass ne soit pas possible ?

A ma connaissance, passer par une feuille de calcul Excel est obligatoire. Cependant on peut rendre ces manipulations totalement transparentes pour l'utilisateur.

En PJ tas macro retravaillé pour renseigner les valeurs calculés dans la feuille Excel puis deuxième macro pour l'affichage.

Slts,

Re,

Une version améliorée

Merci pour le coup de main

Rechercher des sujets similaires à "creer graphique via vba"