Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1652 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  graphique excel en macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

graphique excel en macro

n°1388613
k_$auce
Posté le 16-06-2006 à 08:52:34  profilanswer
 

Bonjour,
Je souhaite créer une macro excel qui me genere automatiquement un graphe a partir de deux colonnes.
La premiere en valeur de l' abscisse et la seconde comme valeurs pour la courbe
Donc je lai fait par excel et je lai enregistré par macro.
J'obtiens le graphe suivant :
http://dirtyalex.ifrance.com/courbevoulu.JPG
Jai recopié le code de la macro enregistrée et je lai mis ds ma macro
Le graphe se créée mais plusieurs pb surviennent lors de la création dont un message d'erreur du compilateur:
Erreur d'éxécution 438
Propriété ou méthode non généré par cet objet

La courbe apparait mais les valeurs de l'abscisse ne correspondent pas  
ils commencent à 1 alors que mes valeurs ds ma premiere colonne commence à 6  
Les titres et la mise en forme du graphe ne fonctionne pas, Voila ce que j'obtiens :
http://dirtyalex.ifrance.com/courbeobtenu.JPG
 
Voici le code utilisé:
 

Code :
  1. Range("A2:B" & (Count + 1)).Select
  2.     Charts.Add
  3.     ActiveChart.ChartType = xlLineMarkers
  4.     ActiveChart.SetSourceData Source:=NewSheet.Range("A2:B" & (Count + 1)), PlotBy _
  5.         :=xlColumns
  6.     ActiveChart.SeriesCollection(1).Delete
  7.     ActiveChart.SeriesCollection(1).XValues = "=" & NewSheet & "!R2C1:R" & (Count + 1) & "C1"
  8.     ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="GraphTest"
  9.    
  10.     With ActiveChart
  11.         .HasTitle = True
  12.         .ChartTitle.Characters.Text = "Courbe pour..."
  13.         .Axes(xlCategory, xlPrimary).HasTitle = True
  14.         .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Heures"
  15.         .Axes(xlValue, xlPrimary).HasTitle = True
  16.         .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = _
  17.         "Temps en ms"
  18.     End With
  19.    
  20.     With ActiveChart.Axes(xlCategory)
  21.         .HasMajorGridlines = True
  22.         .HasMinorGridlines = False
  23.     End With
  24.    
  25.     With ActiveChart.Axes(xlValue)
  26.         .HasMajorGridlines = True
  27.         .HasMinorGridlines = False
  28.     End With
  29.    
  30.     ActiveChart.HasLegend = False
  31.     ActiveChart.HasDataTable = False
  32.     Application.WindowState = xlMaximized
  33.     ActiveChart.PlotArea.Select
  34.    
  35.     With Selection.Border
  36.         .ColorIndex = 19
  37.         .Weight = xlThin
  38.         .LineStyle = xlContinuous
  39.     End With
  40.    
  41.     With Selection.Interior
  42.         .ColorIndex = 15
  43.         .PatternColorIndex = 1
  44.         .Pattern = xlSolid
  45.     End With
  46.    
  47.     ActiveChart.Axes(xlCategory).MajorGridlines.Select
  48.     ActiveChart.ChartArea.Select
  49.     ActiveChart.SeriesCollection(1).Select
  50.    
  51.     With Selection.Border
  52.         .ColorIndex = 57
  53.         .Weight = xlThick
  54.         .LineStyle = xlContinuous
  55.     End With
  56.    
  57.     With Selection
  58.         .MarkerBackgroundColorIndex = xlAutomatic
  59.         .MarkerForegroundColorIndex = xlAutomatic
  60.         .MarkerStyle = xlDiamond
  61.         .Smooth = False
  62.         .MarkerSize = 9
  63.         .Shadow = False
  64.     End With
  65.    
  66.     ActiveWindow.Zoom = 70
  67.     ActiveWindow.Zoom = 85
  68.     ActiveChart.PlotArea.Select
  69.    
  70.     With Selection.Border
  71.         .ColorIndex = 19
  72.         .Weight = xlThin
  73.         .LineStyle = xlContinuous
  74.     End With
  75.    
  76.     Selection.Interior.ColorIndex = xlNone
  77.    
  78.     With Selection.Border
  79.         .Weight = xlThin
  80.         .LineStyle = xlAutomatic
  81.     End With
  82.    
  83.     Selection.Interior.ColorIndex = xlNone
  84.     ActiveChart.Axes(xlCategory).MajorGridlines.Select
  85.    
  86.     With Selection.Border
  87.         .ColorIndex = 48
  88.         .Weight = xlHairline
  89.         .LineStyle = xlContinuous
  90.     End With
  91.    
  92.     ActiveChart.PlotArea.Select
  93.     ActiveChart.ChartArea.Select


     
je ne sais pas sil faut que je declare des elements pour le graphe si oui lesquels (ma variable count a bien été déclarée) et dou vient mon pb pour laxe des abscisses  
Merci d'avance si qqun peut maider  
 
Alex

mood
Publicité
Posté le 16-06-2006 à 08:52:34  profilanswer
 

n°1389282
kiki29
Posté le 16-06-2006 à 17:07:59  profilanswer
 


......
Dim newsheet As Worksheet
    Set newsheet = ActiveWorkbook.Worksheets.Add
    ......
 
    ActiveChart.SeriesCollection(1).XValues = "=" & newsheet.Name & "!R2C1:R" & (count + 1) & "C1"
 
    ......
 

Message cité 1 fois
Message édité par kiki29 le 16-06-2006 à 17:09:20
n°1391140
k_$auce
Posté le 20-06-2006 à 08:52:38  profilanswer
 

kiki29 a écrit :


......
Dim newsheet As Worksheet
    Set newsheet = ActiveWorkbook.Worksheets.Add
    ......
 
    ActiveChart.SeriesCollection(1).XValues = "=" & newsheet.Name & "!R2C1:R" & (count + 1) & "C1"
 
    ......
 



 
merci  :)

n°1429069
Biroute
j'aime les andouillettes !:op
Posté le 22-08-2006 à 05:56:24  profilanswer
 

Salut, j'ai aussi un probleme avec les graphiques.
 
Je dois faire un programme qui fais une courbe pour telle ou telle feuille de données (ce sont des données météorologiques, 12 mois x 30 ans x 61 stations = beaucoup beaucoup de graphiques...). J'apprends tout seul VBA pour excel, d'où mon probleme. Ma question est assez simple, je me débrouillerai ensuite:
 
Quelle est la syntaxe pour faire un graphique (type nuage de points) en fonction de deux colonnes ?
 
Merci d'avance pour l'aide, je galère vraiment là (et il ne me reste que quelques jours, d'où l'urgence...)

n°1429073
kiki29
Posté le 22-08-2006 à 07:54:10  profilanswer
 

Macro recorder et Aide en ligne


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  graphique excel en macro

 

Sujets relatifs
Macro - Verrouillage de cellulesProtection et signature d'un fichier excel
[ VB6] [Résolu] Passer un argument a une Macro[Xml/Excel] Ouverture fichier xml avec excel2000
Appel d'un module dans une macro à partir d'un Batchexcel - macro a executer sur chaque ligne d'une feuille
difficultés à manipuler les dates/heures pr Macro ExcelMacro pour graphique excel
[Excel] Macro creation graphique en fonction de feuille selectionéemacro pour excel, parametrage auto de graphique
Plus de sujets relatifs à : graphique excel en macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR