Placement précis d'un graphique généré par maccro

Bonjour,

J'ai une feuille excel comportant un graphique généré par une maccro et j'aimerai le placer à un endroit spécifique de cette feuille

J’ai essayé de placer mon graphique avec ça

' Pour le placer a un endroit precis
With ActiveSheet.Shapes("Eclairement reçu en fonction de l'heure au fil des saisons")
.Left = Range("K8").Left
.Top = Range("K8").Top
End With

mais impossible je ne comprends pas pourquoi

Merci de votre aide

Voici le code de mon graphique si besoin

Sub Graphique_eclairement_en_fct_de_lheure()
'
' Graphique_eclairement_en_fct_de_lheure Macro
'

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

    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).Name = "=""15-janv"""
    ActiveChart.SeriesCollection(1).XValues = "='Boucle_Heure'!$C$99:$C$105"
    ActiveChart.SeriesCollection(1).Values = "='Boucle_Heure'!$D$99:$D$105"

    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(2).Name = "=""15-avr"""
    ActiveChart.SeriesCollection(2).XValues = "='Boucle_Heure'!$C$755:$C$763"
    ActiveChart.SeriesCollection(2).Values = "='Boucle_Heure'!$D$755:$D$763"

    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(3).Name = "=""15-juil"""
    ActiveChart.SeriesCollection(3).XValues = "='Boucle_Heure'!$C$1574:$C$1582"
    ActiveChart.SeriesCollection(3).Values = "='Boucle_Heure'!$D$1574:$D$1582"

    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(4).Name = "=""15-oct"""
    ActiveChart.SeriesCollection(4).XValues = "='Boucle_Heure'!$C$2376:$C$2382"
    ActiveChart.SeriesCollection(4).Values = "='Boucle_Heure'!$D$2376:$D$2382"

    ' Va créer les séries des graphiques respectivement 15 janvier, avril, juillet et octobre

' PROBLEME : UNE SERIE 5 ET 6 APPARAIT SANS SAVOIR PQ

    ActiveChart.SetElement (msoElementChartTitleCenteredOverlay)
    ActiveChart.ChartTitle.Text = _
        "Eclairement reçu en fonction de l'heure au fil des saisons"

' Permet d'ajouter un titre

    ActiveChart.Axes(xlCategory).MinimumScale = 8

' Fait commencer l'abcisse à 8 au lieu de 0

End Sub

Bonjour,

Tu pourrai essayer de mettre la range complète. Sur un de mes fichier voilà comment j'ai fait :

Dim MoisN As ChartObject
Set MoisN = Feuil10.ChartObjects("Mois2017")
Set Emplacement1 = Range("E29:L38")
With MoisN
        .Left = Emplacement1.Left
        .Top = Emplacement1.Top
        .Height = Emplacement1.Height
        .Width = Emplacement1.Width
End with

Cela fonctionne chez moi, à voir si cela répond à ton problème.

A plus

Merci de ton aide, Que représente MoisN ? Le nom de ton graphique ?

Braters a écrit :

Bonjour,

Tu pourrai essayer de mettre la range complète. Sur un de mes fichier voilà comment j'ai fait :

Dim MoisN As ChartObject
Set MoisN = Feuil10.ChartObjects("Mois2017")
Set Emplacement1 = Range("E29:L38")
With MoisN
        .Left = Emplacement1.Left
        .Top = Emplacement1.Top
        .Height = Emplacement1.Height
        .Width = Emplacement1.Width
End with

C'est une variable représentant mon graphique, le vrai nom de mon graphique est "Mois2017" comme le tien est "Eclairement reçu en fonction de l'heure au fil des saisons". Mais sous vba en utilisant cette ligne :

Set MoisN = Feuil10.ChartObjects("Mois2017")

je donne une nom pour simplifier le code.

De plus, tu peux voir que je qualifie mon graphique comme un ChartObjects et non pas comme une Shapes. Je ne sais pas si cela à un impact.

Tu peux essayer ainsi :

Dim EclairSaison As ChartObject
Set EclairSaison = Activesheet.ChartObjects("Eclairement reçu en fonction de l'heure au fil des saisons")
Set Emplacement1 = Range("K8:N15") 'Par exemple
With EclairSaison
        .Left = Emplacement1.Left
        .Top = Emplacement1.Top
        .Height = Emplacement1.Height
        .Width = Emplacement1.Width
End with

Voilà, a plus

Rechercher des sujets similaires à "placement precis graphique genere maccro"