positionnement graphique - VB/VBA/VBS - Programmation
Marsh Posté le 10-08-2006 à 16:55:05
Essai quelque chose commeça :
GraphPPMTypeDef.Top = Range("B8" ).Top
GraphPPMTypeDef.Left = Range("B8" ).Left
Marsh Posté le 11-08-2006 à 08:46:14
ca me dit méthode ou membre de données introuvables
en gros il connait pas le GraphTypeDef".Top"
Marsh Posté le 11-08-2006 à 09:25:14
J'ai trouvé ca aussi :
With ActiveSheet.Shape("GraphPPMTypeDef" )
.Left = Range("B8" ).Left
.Top = Range("B8" ).Top
End With
mais ActiveShape n'est pas reconnu comme méthode
Marsh Posté le 11-08-2006 à 10:35:15
Il faut utiliser ChartObjects et non pas Charts
Charts renvoie des Feuilles graphiques éléments de Workbooks
ChartObjects renvoie des graphiques objets éléments de feuilles et positionnable dans la Sheet.
Marsh Posté le 11-08-2006 à 10:54:29
j'ai défini mon graphique en tant que ChartObjects mais pour cette ligne :
Set GraphPPMTypeDef = ThisWorkbook.Charts.Add
--> incompatibilité
et si je remplace Charts par ChartObjects, il ne connais pas la méthode
Marsh Posté le 11-08-2006 à 14:34:35
T'as pas de touche F1 sur ton PC. T'as pas d'enregistreur ?
En fait tu dois définir ton graphic dans
Charts.Add
mais une fois construit et placé dans une sheet :
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
il faut le reprendre en tant que
ActiveSheet.ChartObjects("Graphique 1" ).Top = 200
ou...
ActiveSheet.Shapes("Graphique 2" ).Left = 77.25
A+
Marsh Posté le 10-08-2006 à 16:19:50
bonjour à tous ou rebonjour,
Voila mon code :
Dim GraphPPMTypeDef As Chart
'création du graphique
Set GraphPPMTypeDef = ThisWorkbook.Charts.Add
'positionnement du graphique sur le classeur DOPA
GraphPPMTypeDef.ChartType = xlColumnStacked
'type graphique de la représentation des données dans le graphique
GraphPPMTypeDef.ChartArea.Interior.Color = vbWhite
'fond de couleur du graphique
ActiveChart.Shapes.AddTextbox(msoTextOrientationHorizontal, 8.25, 9#, 89.25, 21.75).Select
'ajoute une zone de texte modifiable par l'utilisateur
If OptionButtonPPM.Value = True Then
Selection.Characters.Text = Now()
ElseIf OptionButtonPPDM.Value = True Then
Selection.Characters.Text = "Information graphique PPDM Type défaut"
End If
GraphPPMTypeDef.SetSourceData _
Source:=Sheets("Base de donnees DOPA" ).Range("donnee" ), _
PlotBy:=xlColumns
'defini les données utilisées pour la génération du graphique et leur représentation
With GraphPPMTypeDef
.HasTitle = True
With .ChartTitle
If DenoAppro.Value = True Then
.Characters.Text = "Indicateur PPM Appro pièces"
ElseIf DenoCollec.Value = True Then
.Characters.Text = "Indicateur PPM Collection"
ElseIf DenoApCol.Value = True Then
.Characters.Text = "Indicateur PPM Appro pièces | Collection"
ElseIf DenoParCli.Value = True Then
.Characters.Text = "Indicateur PPM Client : " & ParCli
End If
.Shadow = True
.Border.Weight = xlColumns
End With
End With
'permet de choisir le titre du graphique selon les choix de l'utilisateur
GraphPPMTypeDef.Location _
Where:=xlLocationAsObject, _
Name:="Graphiques Indicateurs"
Y = Range("B8" ).Left
'endroit ou le graphique va être placé
End If
J'ai mis ca " Y = Range("B8" ).Left " car j'aimerais que le coin haut-gauche de mon graphique se trouve sur cette cellule mais apperement ce n'est pas la bonne ligne ou elle n'est pas placé au bon endroit car mon graphique n'est tjs pas generé la ou je le voudrai.
Merci à ts !