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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [résolu] Génération de graphique Excel, problème de location

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[résolu] Génération de graphique Excel, problème de location

n°1556967
brolouille
Posté le 08-05-2007 à 19:40:46  profilanswer
 

Ô rage Ô desespoir !!
 
Bonjour a tous,
J'expose mon petit problème qui me prend la tete depuis bientot 2h :(
Je voudrais afficher un graphique selon les coordonnées qui sont sur une plage de cellules. Jusqu'ici tout va bien, j'ai reussi a créer le graphique que je souhaitais.
Maintenant, je voudrais inclure ce graphique en tant qu'objet dans un classeur excel et non en tant que nouveille feuille.
J'ai lu plusieurs post et utilise la syntaxe en gras. Cependant rien n'y fait :(, erreur a l'execution :
 
"La méthode Location de l"objet '_Chart' a échoué"
 
Je ne sais pas si ca vient vraiment de la méthode loc. si vous pouviez me donner un ti coup de main ;)
merci
 

Code :
  1. Charts.Add
  2. ActiveChart.ChartType = xlXYScatter
  3. ActiveChart.SetSourceData Source:=Sheets(nom).Range(Sheets(nom).Cells(3, 7), Sheets(nom).Cells(Sheets(nom).Cells(2, 4) + 2, 8)), PlotBy _
  4.             :=xlColumns
  5.        
  6. ActiveChart.SeriesCollection(1).name = "=""Barycentres"""
  7. ActiveChart.Location where:=xlLocationAsObject, name:="Sheet1"
  8. With ActiveChart
  9.             .HasTitle = True
  10.             .ChartTitle.Characters.Text = "Déplacement des barycentres"
  11.             .Axes(xlCategory, xlPrimary).HasTitle = False
  12.             .Axes(xlValue, xlPrimary).HasTitle = False
  13. End With


Message édité par brolouille le 08-05-2007 à 20:51:05
mood
Publicité
Posté le 08-05-2007 à 19:40:46  profilanswer
 

n°1556970
Thierry_94
Posté le 08-05-2007 à 19:51:46  profilanswer
 

Bonsoir,
Je pense qu'il faut activer la feuille de destination avant l'insertion du graphique.
Bon courage ...


Message édité par Thierry_94 le 08-05-2007 à 19:57:12
n°1556973
jpcheck
Pioupiou
Posté le 08-05-2007 à 19:59:43  profilanswer
 

un petit charts.add.activate ?

n°1556976
ingenieurc​esi
Posté le 08-05-2007 à 20:17:12  profilanswer
 

il faut selectionner la feuille et surtout une cellule
 
es tu sur de ton range ? il me parait bizarre


Message édité par ingenieurcesi le 08-05-2007 à 20:18:08
n°1556977
seniorpapo​u
Posté le 08-05-2007 à 20:21:53  profilanswer
 

Bonsoir,
"sheet1" existe?
Cordialement

n°1556986
brolouille
Posté le 08-05-2007 à 20:39:48  profilanswer
 

En fait quand je vire cette ligne :  

Code :
  1. ActiveChart.Location where:=xlLocationAsObject, name:="Sheet1"


 
le graphe se met sur une nouvelle feuille du classeur, et tout est nickel, la forme, les options et tout ca.
Mais des que je veux l'inserer en tant qu'objet, ca bug.
 
J'ai essaye :  
charts.add.activate, sans succes
selection d'une feuille avant l'insertion, sans succes
 
"sheet1" est je pense juste le nom de l'objet que je souhaite creer. j'ai essaye d'appeler la fonction sans cet argument mais sans succes encore une fois
 
ps: pour info je travaille avec visual basic 6.3


Message édité par brolouille le 08-05-2007 à 20:41:28
n°1556989
brolouille
Posté le 08-05-2007 à 20:48:58  profilanswer
 

Tu avais raison seniorpapou. J'ai continuer mes recherches et en effet, le paramètre name demandé est le nom de la feuille dans laquelle insérer l'objet. Sheet1 n'existait pas...
 
Le bon code au final est donc celui ci:

Code :
  1. Dim nom As String
  2. nom = ActiveSheet.name
  3. Charts.Add
  4. ActiveChart.ChartType = xlXYScatter
  5.      
  6. ActiveChart.SetSourceData Source:=Sheets(nom).Range(Sheets(nom).Cells(3, 7), Sheets(nom).Cells(Sheets(nom).Cells(2, 4) + 2, 8)), PlotBy _
  7.                  :=xlColumns
  8. ActiveChart.SeriesCollection(1).name = "=""Barycentres"""
  9. ActiveChart.Location where:=xlLocationAsObject, name:=nom
  10. With ActiveChart
  11.                  .HasTitle = True
  12.                  .ChartTitle.Characters.Text = "Déplacement des barycentres"
  13.                  .Axes(xlCategory, xlPrimary).HasTitle = False
  14.                  .Axes(xlValue, xlPrimary).HasTitle = False
  15. End With


Message édité par brolouille le 08-05-2007 à 20:49:53

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

  [résolu] Génération de graphique Excel, problème de location

 

Sujets relatifs
[PHP] Systeme de génération d'image avec caractères : captcha[C C++] problème Gnu scientific library 1.8 avec Dev-C++
[Resolu] Java Pathfinder [urgent]xmldom et plantage sous ie [Resolu]
[VB .NET]Problème gestion d'ongletsProbleme d'installation code block sous Ubuntu
[RESOLU]prob rmiWinBinder : Impossible d'accèder à mon objet [Résolu]
probleme de slot avec qt et de QTimerDLL Visual C++ 2005 Express to VBA Excel
Plus de sujets relatifs à : [résolu] Génération de graphique Excel, problème de location


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