Comment faire pour utiliser le composant Web Graphique avec Visual Basic

Traductions disponibles Traductions disponibles
Numéro d'article: 235885 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article fournit une vue d'ensemble de comment vous pouvez utiliser le composant Web Graphique de Office dans un formulaire Visual Basic pour visualiser les données liées. Plus précisément, le code dans cet article illustre par l'exemple comment effectuer les opérations suivantes :
  • Utiliser les données de tableau pour un graphique.
  • Utilisez un jeu d'enregistrements ADO pour les données du graphique.
  • Utiliser les données de la feuille de calcul pour un graphique.
  • Créer plusieurs graphiques dans un seul espace graphique.
  • Créer un graphique combiné. - et -

  • Format graphique différent composants tels que les axes, datalabels, série, plotareas et plus.

Plus d'informations

Étapes pour créer des modèles

  1. Démarrez un nouveau projet EXE standard dans Visual Basic. Form1 est créé par défaut.
  2. Cliquez sur composants dans le menu projet . Sélectionnez Microsoft Office Web Components 9.0 et cliquez sur OK .
  3. Ajoutez les contrôles suivants à l'écran avec les propriétés indiquées :

    Réduire ce tableauAgrandir ce tableau
    TypeNomLégende
    Espace graphiqueL'espace graphique ChartSpace1-
    DataSourceControlDataSourceControl1-
    Bouton de commandeCommand1Utiliser des tableaux
    Bouton de commandeCommand2Utiliser le jeu d'enregistrements ADO
    Bouton de commandeCommand3Utilisez la feuille de calcul


    Remarque : taille contrôle ChartSpace dans votre formulaire afin qu'il prenne les autant de l'écran que possible tout en autorisant d'autres contrôles du formulaire.
  4. Ajoutez le code suivant dans le module de Form1 :
    Private Sub Command1_Click()
    
        'Create arrays for the x-values and the y-values
        Dim xValues As Variant, yValues1 As Variant, yValues2 As Variant
        xValues = Array("Beverages", "Condiments", "Confections", _
                        "Dairy Products", "Grains & Cereals", _
                        "Meat & Poultry", "Produce", "Seafood")
        yValues1 = Array(104737, 50952, 78128, 117797, 52902, 80160, 47491, _
                         62435)
        yValues2 = Array(20000, 15000, 36000, 56000, 40000, 18000, 20000, _
                         33000)
        
        'Create a new chart
        Dim oChart As WCChart
        ChartSpace1.Clear
        ChartSpace1.Refresh
        Set oChart = ChartSpace1.Charts.Add
        
        'Add a title to the chart
        oChart.HasTitle = True
        oChart.Title.Caption = "Sales Per Category"
        
        'Add a series to the chart with the x-values and y-values
        'from the arrays and set the series type to a column chart
        Dim oSeries As WCSeries
        Set oSeries = oChart.SeriesCollection.Add
        With oSeries
            .Caption = "1995"
            .SetData chDimCategories, chDataLiteral, xValues
            .SetData chDimValues, chDataLiteral, yValues1
            .Type = chChartTypeColumnClustered
        End With
        
        'Add another series to the chart with the x-values and y-values
        'from the arrays and set the series type to a line chart
        Set oSeries = oChart.SeriesCollection.Add
        With oSeries
            .Caption = "1996"
            .SetData chDimCategories, chDataLiteral, xValues
            .SetData chDimValues, chDataLiteral, yValues2
            .Type = chChartTypeLineMarkers
        End With
        
        'Add a value axis to the right of the chart for the second series
        oChart.Axes.Add oChart.Axes(chAxisPositionLeft).Scaling, _
            chAxisPositionRight, chValueAxis
    
        'Format the Value Axes
        oChart.Axes(chAxisPositionLeft).NumberFormat = "$#,##0"
        oChart.Axes(chAxisPositionRight).NumberFormat = "0"
        oChart.Axes(chAxisPositionLeft).MajorUnit = 20000
        oChart.Axes(chAxisPositionRight).MajorUnit = 20000
        
        'Show the legend at the bottom of the chart
        oChart.HasLegend = True
        oChart.Legend.Position = chLegendPositionBottom
    
    End Sub
    
    Private Sub Command2_Click()
    
        'Set up the DataSourceControl for the Chartspace
        Dim rsd As RecordsetDef
        DataSourceControl1.ConnectionString = _
            "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
            "DBQ=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb"
        Set rsd = DataSourceControl1.RecordsetDefs.AddNew( _
                 "Select * from [Category Sales for 1995]", 3)
        With ChartSpace1
            .Clear
            .Refresh
            .DataSource = DataSourceControl1
            .DataMember = rsd.Name
        End With
         
        'This Chartspace will contain 2 charts. Make the layout so that the
        'charts are positioned horizontally
        ChartSpace1.ChartLayout = chChartLayoutHorizontal
        
        'Create a new bar chart from the query
        Dim oBarChart As WCChart
        Set oBarChart = ChartSpace1.Charts.Add
        With oBarChart
            .Type = chChartTypeBarClustered
            .SetData chDimCategories, 0, 0  'Categories are first field
            .SetData chDimValues, 0, 1      'Values are second field
        
            'Format the value axis for the bar chart so that it
            'shows values in thousands (i.e., 45000 displays as 45) and
            'in increments of 25000. Remove the gridlines
            With .Axes(chAxisPositionBottom)
                .NumberFormat = "0,"
                .MajorUnit = 25000
                .HasMajorGridlines = False
            End With
            
            'Change the color of the series and the plot area
            .SeriesCollection(0).Interior.Color = RGB(150, 0, 150)
            .PlotArea.Interior.Color = RGB(240, 240, 10)
        End With
        
        'Create a new exploded pie chart from the query
        Dim oPieChart As WCChart
        Set oPieChart = ChartSpace1.Charts.Add
        With oPieChart
            .Type = chChartTypePie
            .SetData chDimCategories, 0, 0  'Categories are first field
            .SetData chDimValues, 0, 1      'Values are second field
            .SeriesCollection(0).Explosion = 20
            
            'Add a legend to the bottom of the pie chart
            .HasLegend = True
            .Legend.Position = chLegendPositionBottom
            
            'Add a title to the chart
            .HasTitle = True
            .Title.Caption = "Sales by Category for 1995"
            .Title.Font.Bold = True
            .Title.Font.Size = 11
            
            'Make the chart width 50% the size of the bar chart's width
            .WidthRatio = 50
            
            'Show data labels on the slices as percentages
            With .SeriesCollection(0).DataLabelsCollection.Add
                .HasValue = False
                .HasPercentage = True
                .Font.Size = 8
                .Interior.Color = RGB(255, 255, 255)
            End With
            
        End With
        
    End Sub
    
    Private Sub Command3_Click()
    
       'Dynamically add a spreadsheet control to the form
       Dim oSheet As Spreadsheet
       Me.Controls.Add "OWC.Spreadsheet", "Sheet"
       Set oSheet = Me!Sheet
       
       'Fill the Sheet with data
       With oSheet
            .Range("A1:A10").Formula = "=Row()"
            .Range("B1:B10").Formula = "=A1^2"
            .Range("A12").Formula = "=Max(A1:A10)"
            .Range("B12").Formula = "=Max(B1:B10)"
       End With
       
       'Create an xy-scatter chart using the data in the spreadsheet
       Dim oChart As WCChart
       With ChartSpace1
            .Clear
            .Refresh
            .DataSource = oSheet.object
            Set oChart = .Charts.Add
            oChart.Type = chChartTypeScatterSmoothLineMarkers
            oChart.SetData chDimXValues, 0, "a1:a10"
            oChart.SetData chDimYValues, 0, "b1:b10"
       End With
       
       With oChart
            'Display the Axes Titles and
            'set the major units for the axes
            With .Axes(chAxisPositionBottom)
                .HasTitle = True
                .Title.Caption = "X"
                .Title.Font.Size = 8
                .MajorUnit = 1
            End With
            With .Axes(chAxisPositionLeft)
                .HasTitle = True
                .Title.Caption = "X Squared"
                .Title.Font.Size = 8
                .MajorUnit = 10
            End With
            
            'Set the maximum and minimum axis values
            .Scalings(chDimXValues).Maximum = oSheet.Range("A12").Value
            .Scalings(chDimXValues).Minimum = 1
            .Scalings(chDimYValues).Maximum = oSheet.Range("B12").Value
            
            'Change the marker and line styles for the series
            With .SeriesCollection(0)
                .Marker.Style = chMarkerStyleDot
                .Marker.Size = 6
                .Line.Weight = 1
                .Line.Color = RGB(255, 0, 0)
            End With
       End With
       
       'Remove the spreadsheet
       Me.Controls.Remove "Sheet"
       
    End Sub
    					
    Remarque : vous devrez peut-être modifier la chaîne de connexion de l'événement Command2_Click afin qu'il fasse correctement référence le chemin d'accès du NWIND.MDB, qui est installé par défaut dans le répertoire de Visual Basic :
       DataSourceControl1.ConnectionString = _
            "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
            "DBQ=C:\Program Files\Microsoft Visual Studio\VB98\nwind.mdb"
    					
  5. Cliquez sur Propriétés dans le menu projet . Sélectionnez l'onglet Création , désactivez Supprimer les informations sur les contrôles ActiveX non utilisés puis cliquez sur OK .
  6. Appuyez sur la touche F5 pour exécuter le programme.
  7. Cliquez sur le bouton groupes utiliser . Un graphique combiné avec deux axes des ordonnées est créé. Le graphique utilise des données de tableaux.
  8. Cliquez sur le bouton utiliser ADO Recordset . Deux graphiques sont créés dans le ChartSpace ; un graphique de barres et un graphique en secteurs éclaté avec des étiquettes de données. L'objet ChartSpace utilise un DataSourceControl pour ses données et le DataSourceControl fait référence à une base de données Access via une connexion ADO.
  9. Cliquez sur le bouton utiliser la feuille de calcul . Un graphique en nuages de points est créé qui utilise un contrôle feuille de calcul des formules dans les cellules que ses données. Le contrôle de feuille de calcul est ajouté dynamiquement et supprimé lors de l'exécution.

Propriétés

Numéro d'article: 235885 - Dernière mise à jour: mardi 13 juillet 2004 - Version: 1.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Office Chart Component 9.0, run time
Mots-clés : 
kbmt kbhowto KB235885 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 235885
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.
Exclusion de responsabilité concernant les contenus obsolètes dans la Base de connaissances
Cet article concerne des produits pour lesquels Microsoft n'offre plus de support. Il est par conséquent fourni « en l'état » et ne sera plus mis à jour.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com