Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Positionner un graphique

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 !

spitfire378

XLDnaute Occasionnel
Bonjour a tous

Voila mon probleme, je veux créer un graphique en VBA, a partir de données d'une feuille 2 par exemple vers une feuille 3. Seulement je voudrais que sur cette feuille 3 le graphique se positionne a partir de la cellule A10 par exemple.

Mon Code :

Code:
Range("J2:K7").Select
Charts.Add
ActiveChart.ChartType = xlPie
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("J2:K7"), PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil3"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "MonSuperTitre"
    End With
ActiveChart.HasLegend = False

Merci d'avance.
 
Re : Positionner un graphique

Bonjour
Une façon de faire
Code:
With ActiveSheet.shapes("Nom de ton graphique")
.Left = Range("A10").Left
.Top = Range("A10").Top
End With
Pour nommée ton graph tu peux t'inspirer de cela
Code:
Sub NomGraph()
Dim i As Integer
'nommé X graphique
With ActiveSheet
For i = 1 To .ChartObjects.Count
.ChartObjects(i).Name = "Graph_" & i
Next i
End With
End Sub
si tu ne veux pas nommée ton graphique et que tu en a qu'un sur la feuille tu peux faire cela :
Code:
With ActiveSheet.shapes([COLOR=red][B]1[/B][/COLOR])
.Left = Range("A10").Left
.Top = Range("A10").Top
End With
 
Dernière édition:
Re : Positionner un graphique

En faite je vais décrire mon probleme final ca va etre plus simple, j'ai créé une macro qui récupère des données d'une Feuil2 d'un classeur et qui créé un graphique de ces données sur une Feuil3. Seulement les graphiques créés sont tous positionnées au centre les uns sur les autres. Ce que je recherche a faire c'est ordonner proprement ces graphiques. Le premier en B2, le second en B22 etc...et ce sur un nombre indéfini de graphiques. Mais la je suis dépassé. Merci beaucoup pour votre aide et votre patience.
 
Re : Positionner un graphique

re
J'ai vue une macro de John Walkenbach, qui réalisé le positionnement de tous les graphiques l'un sous l'autre, je pense que je dois l'avoir à la maison.
Si tu n'a pas de réponse avant ce soir je rechercherais
 
Re : Positionner un graphique

Bonjour Spitfire, Bruno

peut être comme ceci, si j'ai bien compris :

Code:
Sub test()
Dim c As ChartObject, c1 As ChartObject
With Sheets("Feuil1")
For Each c In .ChartObjects
    If c.Index = 1 Then
        c.Top = .Range("B2").Top
        c.Left = .Range("B2").Left
    Else
        Set c1 = .ChartObjects(c.Index - 1)
        c.Top = c1.BottomRightCell.Offset(2, 0).Top
        c.Left = c1.Left
    End If
Next c
End With
End Sub

bonne fin d'après midi
@+
 
Re : Positionner un graphique

bonjour Spitfire, Bruno

comprends pas pourquoi les graphiques seraient effacés... tu as adapté le nom de la feuille ? Sinon mets un petit fichier en pièce jointe, sans données confidentielles, avec code complet utilisé, plus facile pour t'aider...

bon après midi
@+
 
Re : Positionner un graphique

haaaaaa sisi ca marche seulement comme j'ai lancé ma macro deja une bonne centaine de fois, et que ca me génére a chaque fois des nouveaux graphiques, j'en étais a mon graphique 250 et donc ils étaients tous alignés mais tout tout tout en bas de ma feuille, alors ma question comment faire pour réinitialiser a chaque fois la valeur de l'index de mes graphiques. Merci 🙂
 
Re : Positionner un graphique

Re

comprends toujours pas, car 1er graph doit se placer sur la cellule B2, et les autres à la suite, tu n'aurais pas des graphiques ayant une largeur nul sur ta feuille ?

A priori si tu lances ma macro après la création des graphiques, ils doivent tous bien se positionner.

Fais peut être l'essai sur une nouvelle feuille... Sans fichier exemple et sans le code utilisé, difficile de t'en dire plus...

@+
 
Re : Positionner un graphique

Et bien en faite le premier graph dans mon cas possède l'index 250, comme j'ai relancé 36 fois ma macro. C'est pourquoi réinitialiser la valeur de l'index de mes graphiques serait la solution. J'ai essayé un : "set chartobject.index = 1" mais ca n'a pas marché.
 
- 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
0
Affichages
481
Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…