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 !