Créer un graphique sur VBA à partir d'Excel

Bonjour à tous !

Je dois créer un graphique à partir d'un tableau excel, et je souhaiterai le faire sous VBA.

J'ai rédigé une macro qui fonctionne à partir d'un cours sur internet.

J'ai toutefois quelques interrogations :

En exécutant ma macro, deux classeurs apparaissent avec deux graphiques : l'un est un diagramme groupé, l'autre un diagramme empilé.

Je souhaite avoir uniquement un diagramme groupé.

Ma première question est donc la suivante : Comment se fait-il que ce deuxième digramme apparaissent, et comment le supprimer de ma macro ?

Deuxièmement, le nombre de colonnes de mon tableau est variable, je souhaiterais donc que ma macro sélectionne tout mon tableau sans que j'ai à indiquer la dernière cellule de ma plage. Existe-t-il une formule permettant de sélectionner directement la "fin" du tableau ?

Enfin, mon diagramme empilé a les lignes et les colonnes inversées. Je dois donc cliquer sur le bouton "invertir les lignes et les colonnes" pour avoir le graphique voulu. Existe-t-il un code pour faire cette manipulation automatiquement sur VBA ?

Et une dernière question moins importantes : mon graphique apparaît dans un nouveau classeur, est-il possible de demander à ma macro qu'il apparaissent dans ma feuille où figurent mes données sources ?

Je vous remercie tous d'avance !!!

84bc3-test-forum.xlsm (33.72 Ko)

Bonjour,

Teste ce code. La cellule de base pour le tableau est la cellule B34 (cellule qui est située la plus à gauche et la plus en haut du tableau). Ton tableau peut donc évoluer vers le bas et vers la droite :

Public Sub Graphique()

    Dim WsD As Worksheet
    Dim objChart As Chart
    Dim Plage As Range

    Set WsD = Worksheets("Données") 'Feuille Source

    'point de départ, cellule B34 (en haut à gauche de la plage)
    With WsD

        Set Plage = .Range(.Cells(34, 2), .Cells(.Cells(34, 2).End(xlDown).Row, .Columns.Count).End(xlToLeft))

    End With

    Set objChart = ThisWorkbook.Charts.Add
    objChart.ChartType = xlColumnStacked 'création d'un histogramme empilé
    objChart.SetSourceData Plage, xlRows

End Sub

Hervé.

Bonjour Hervé,

J'ai testé ta solution qui marche parfaitement !

Merci infiniment c'est hyper gentil de ta part de m'avoir aidée !

Très bon week-end et encore merci beaucoup !

Marie

Rechercher des sujets similaires à "creer graphique vba partir"