gestion des graphiques dans une macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

philmaure

XLDnaute Impliqué
Bonjour à tous,

Dans le fichier joint j'ai crée un graophique.
Ce graphique peut être généré par le bouton "graphique".
1. comment parametrer dans la macro pour positionner le graphique à un endroit précis et avec des dimensions précises(encadré noir dans le fichier).
2 comment par macro effecer le ou les graphiques présents dans une feuille.

Merci par avance pour vos réponses.
Cordialement
philippe
 

Pièces jointes

Re : gestion des graphiques dans une macro

Il te faut utiliser la propriété ChartArea. Dans l'exemple si-dessous, le graphique se positionne à l'angle de la cellule J10
Code:
    Set Mycell = ThisWorkbook.Worksheets("Feuil1").Cells(10, 10)
    With ActiveChart
        .ChartArea.Left = Mycell.Left
        .ChartArea.Top = Mycell.Top
    End With
 
Re : gestion des graphiques dans une macro

Bonjour,

Voici deux macros. La première créer un nouvel objet ChartObject le positionne et créer le graphique des données.

La seconde que je te laisse pour exemple m'a permis de connaitre les coordonnées de ton graphique d'origine.

Code:
[COLOR=BLUE]Sub[/COLOR] graphique_test()
    [COLOR=GREEN]'oChart sera un objet Graphique[/COLOR]
    [COLOR=BLUE]Dim[/COLOR] oChart [COLOR=BLUE]As[/COLOR] ChartObject
    [COLOR=BLUE]With[/COLOR] ActiveSheet
        [COLOR=GREEN]'Effacer l'ancien graphique du nom de [i]"MonGraphique"[/i][/COLOR]
        [COLOR=GREEN]'S'il n'existe pas une erreur est levée[/COLOR]
        [COLOR=BLUE]On[/COLOR] [COLOR=BLUE]Error[/COLOR] [COLOR=BLUE]Resume[/COLOR] [COLOR=BLUE]Next[/COLOR]
        .ChartObjects([i]"MonGraphique"[/i]).Delete
        [COLOR=BLUE]On[/COLOR] [COLOR=BLUE]Error[/COLOR] [COLOR=BLUE]GoTo[/COLOR] 0
        [COLOR=BLUE]Set[/COLOR] oChart = .ChartObjects.Add(107, 231, 464.25, 214.5)
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With[/COLOR]
    
    [COLOR=GREEN]'Travailler sur l'objet graphique[/COLOR]
    [COLOR=BLUE]With[/COLOR] oChart
        .Name = [i]"MonGraphique"[/i]
        .TopLeftCell = Range([i]"D9"[/i])
        .Top = 107
        .Left = 231
        .Width = 464.25
        .Height = 214.5
        [COLOR=GREEN]'Travailler sur le graphique des données en tant que tel[/COLOR]
        [COLOR=BLUE]With[/COLOR] .Chart
            .ChartType = xlColumnClustered
            .SetSourceData Source:=Sheets([i]"Feuil1"[/i]).Range([i]"D5:I6"[/i]), PlotBy:=xlRows
            .HasTitle = [COLOR=BLUE]True[/COLOR]
            .ChartTitle.Characters.Text = [i]"test"[/i]
            .Axes(xlCategory, xlPrimary).HasTitle = [COLOR=BLUE]False[/COLOR]
            .Axes(xlValue, xlPrimary).HasTitle = [COLOR=BLUE]False[/COLOR]
        [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With[/COLOR]
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With[/COLOR]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]
[COLOR=BLUE]Sub[/COLOR] GetDisposition()
    [COLOR=BLUE]Dim[/COLOR] oChart [COLOR=BLUE]As[/COLOR] ChartObject
    [COLOR=BLUE]Set[/COLOR] oChart = ActiveSheet.ChartObjects(1)
    [COLOR=BLUE]With[/COLOR] oChart
        [COLOR=BLUE]Debug[/COLOR].[COLOR=BLUE]Print[/COLOR] .TopLeftCell.Address, .Top, .Left, .Width, .Height
    [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]With[/COLOR]
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
171
  • Question Question
Réponses
32
Affichages
749
Réponses
3
Affichages
313
Réponses
4
Affichages
330
Retour