IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API, COM et SDKs Delphi Discussion :

[Delphi 5] Graphique sous Excel


Sujet :

API, COM et SDKs Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut [Delphi 5] Graphique sous Excel
    Bonjour,

    je crée des graphiques sour excel via Delphi5 mais je ne trouve pas la
    commande pour determiner les valeurs de l'axe des abscisses.

    En cherchant, je trouve les constante xlvalue et xlcategorie, hors, ces
    constantes ne sont pas connus via delphi5.

    D'autre utilise l'unite excel2000 : je ne l'ai pas...

    je ne trouve pas non plus la valeur de xlcategorie... pas plus que
    celle xlvalue

    Pouvez vous m'aider?

    je tourne en rond

    merci

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    regarde du cote des propriete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        ChartObject.Chart.SeriesCollection(i).Name
        ChartObject.Chart.SeriesCollection(i).XValues

    @+ Phil

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    déjà vu ...

    il ne reconnait pas XlValues.

    merci quand meme

    je pense que cela est un rapport avec la version de Delphi mais ça m'aide pas plus.

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    c'est des variant il ne devrais meme pas bonché le compilo
    tu l'utilise comment ?



    @+ Phil

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      XRange:=vExcelApplication.Range['B2:B6;B8'];
      YRange:=vExcelApplication.Range['C2:C6;C8'];
      Chart1:=vXLClasseur.ActiveSheet.chartobjects.add[100,250,500,300];
      vXLClasseur.ActiveSheet.chartobjects[1].chart.ChartType := 65 ;
      vXLClasseur.ActiveSheet.chartobjects[1].Select ;
     
      Chart1.Chart.SeriesCollection.Add(YRange);
      Chart1.chart.seriescollection[1].name:='Exposants et co-exposants';
      Chart1.Chart.SeriesCollection(1).XValues:=XRange;
      Chart1.Chart.HasTitle:=true;
      Chart1.Chart.HasLegend:=true;
      Chart1.Chart.ChartTitle.Text:='Nombre d''exposants';

    ça compile, pas de soucis

    par contre à l'execution, j'ai l'erreur

    "Impossible de définir la propriété XlValues de la classe Series"

    et bien entendu si je met en commentaire la ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Chart1.Chart.SeriesCollection(1).XValues:=XRange;
    plus d'erreur

  6. #6
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    voila comment je fait .
    je pense que tu as oublié de lui assigner les données

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     CurrentSheet := ExcelApp.ActiveWorkbook.ActiveSheet;
      ChartObject  := CurrentSheet.ChartObjects.Add(0,0,1,1);
      ChartObject.Top    := _top;
      ChartObject.Left   := _left;
      ChartObject.Width  := _width;
      ChartObject.Height := _Height;
    	// type de graphique
      ChartObject.Chart.ChartType := xlLine;
      ChartObject.Chart.HasDataTable := FALSE;
    
      DataSheet := ExcelApp.ActiveWorkbook.Sheets['Datas'];
      
    ChartObject.Chart.SetSourceData(Source:=DataSheet.Range['A3',MaxLetter+'19'], PlotBy:=xlRows);
    
    	// séries de données
      for i := 1 to ChartObject.Chart.SeriesCollection.Count do
      begin
        ChartObject.Chart.SeriesCollection(i).Name    := DataSheet.Range['A2','A2'].Offset[i, 0].Value;
        ChartObject.Chart.SeriesCollection(i).XValues := DataSheet.Range['B2', MaxLetter+'2'].Value;
      end;
    ensuite pour ce qui est de la presentation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    	// légende
    	ChartObject.Chart.Legend.AutoScaleFont := FALSE;
    	ChartObject.Chart.Legend.Font.Size := 10;
    	ChartObject.Chart.Legend.Position := xlBottom;
    	// zone de tracé
    	ChartObject.Chart.ChartArea.AutoScaleFont := FALSE;
    	ChartObject.Chart.ChartArea.Font.Size := 10;
    	ChartObject.Chart.PlotArea.Interior.ColorIndex := xlNone;
    	// axe horizontal
    	ChartObject.Chart.Axes(xlCategory).AxisBetweenCategories := FALSE;
    	ChartObject.Chart.Axes(xlCategory).ReversePlotOrder := FALSE;
    	// axe vertival
    	
            ChartObject.Chart.Axes(xlValue).MinimumScale := ValMin;
    	ChartObject.Chart.Axes(xlValue).MaximumScale := ValMax;
           
    
    	ChartObject.Chart.Axes(xlValue).MinorUnit := 10;
    	ChartObject.Chart.Axes(xlValue).MajorUnit := 20;
    	ChartObject.Chart.Axes(xlValue).Crosses := xlMaximum;
    	ChartObject.Chart.Axes(xlValue).ReversePlotOrder := False;
    	ChartObject.Chart.Axes(xlValue).ScaleType := xlLinear;
    @+ Phil

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    Voilà ce que ça donnerai adapté à mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Chart1.Chart.SetSourceData(Source:=vExcelApplication.Range('C2:C6;C8'), PlotBy:=xlColumns);
    sauf qu'il ne reconnais pas XlColumns (identificateur non declaré)
    et donc ça compile pas

    je vais voir si je peut pas trouver ça valeur...

    et si quelqu'un là ausis , je suis preneuse

    merci de ton aide!

  8. #8
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 489
    Par défaut
    salut

    voila la valeur

    @+ Phil

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 10
    Par défaut
    Non, cela ne marche pas mieux : ça compile mais cela genere une erreur.

    j'ai trouvé pour que cela fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
      XRange:=vExcelApplication.Range['B2:B7'];
      YRange:=vExcelApplication.Range['C2:C7'];
    
      
      //XRange:=vExcelApplication.Range['B2:B6;B8'] faisant planté le reste...
    
      Chart1:=vXLClasseur.ActiveSheet.chartobjects.add[100,250,500,300];
      vXLClasseur.ActiveSheet.chartobjects[1].chart.ChartType := 65 ;
      vXLClasseur.ActiveSheet.chartobjects[1].Select ;
    
      Chart1.Chart.SeriesCollection.Add(YRange);
      Chart1.chart.seriescollection[1].name:='Exposants et co-exposants';
    
    
      Chart1.Chart.SeriesCollection(1).XValues:=XRange;
    
      Chart1.Chart.SeriesCollection(1).Values:=YRange;
      //Rajout de cette ligne
    Il a donc fallu que je reorganise les valeurs source dans ma fiche Excel (en effet ma plage est passé de B2:B6;B8 à B2:B7

    et que je rajoute une ligne

Discussions similaires

  1. Ouvrir un graphique sous Excel
    Par Fred2209 dans le forum C++Builder
    Réponses: 6
    Dernier message: 01/12/2006, 20h02
  2. [VB.NET] Création de graphique sous excel
    Par krfa1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/06/2006, 10h11
  3. Réaliser un graphique sous Excel
    Par vdbadr dans le forum Contribuez
    Réponses: 1
    Dernier message: 30/05/2006, 15h37
  4. [VBA-E]Deplacer un graphique sous Excel
    Par gaudy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/04/2006, 06h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo