Affichage d'un graphe excel dans une userform

La Guise Messages postés 2 Statut Membre -  
La Guise Messages postés 2 Statut Membre -
Bonjour à tous,

Je cherche sans succès le code VBA qui me permettrait d'afficher un graphe excel dans une userform. J'ai trouvé quelques éléments de réponse utilisant la ligne de code suivante:

Set currentchart = Worksheets("Recap").ChartObjects(taillemarche).Chart

mais dans mon cas cela ne marche pas, VBA m'indique objet introuvable.

Pourriez vous m'indiquer quel serait la procédure à suivre?

Merci à tous

La Guise

2 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    principe: exporter le graph en format image et le charger dans l'imagebox

    '28/03/2008, 10h45 Developpez.com
    'code original de Jean -Pierre49
    'Membre Expert
    'modifie pour votre besoin
    Private Sub CommandButton1_Click()
        Dim NomImage                        As String
        Dim LeGraphique                     As ChartObject
        
        'definition de l'image
        NomImage = "d:\_cles\imageTemp.Bmp"
        taillemarche = "Graphique 1"
        Set LeGraphique = Worksheets("Recap").ChartObjects(taillemarche)
        'export du graph en image
        LeGraphique.Chart.Export NomImage, "GIF"
        'chargement de l'imgage cree
        Me.Image1.Picture = LoadPicture(NomImage)
     
    End Sub


    bonne suite
    3
    1. La Guise
       
      L'image étant le graphique, quelle est la différence entre "NomImage" et "le graphique" ?

      Merci
      0
  2. La Guise Messages postés 2 Statut Membre
     
    Merci à tous,

    Grâce à vous j'ai trouver la solution: voici un morceau de code qui permet d'afficher un graphe dans une userform en VBA.

    Private Sub UserForm_Click()
    Dim NomImage As String
    Charts(1).Activate
    'definition de l'image
    NomImage = "C:\entreprise\imageTemp.Bmp"
    'export du graph en image
    ActiveChart.Export NomImage, "GIF"
    'chargement de l'imgage cree
    Me.Image1.Picture = LoadPicture(NomImage)
    End Sub

    A bientôt
    0