Bonjour mesdames et messieurs.
Je développe avec vb 2012.
Je veux construire un graphe en entonnoir selon l'image jointe. Mais je n'y arrive pas malgré tous les tutos que je lis.
Je vous présente le code
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Imports System.Data.SqlClient
Imports System.Windows.Forms.DataVisualization.Charting
 
Public Class tableau_de_bord
Dim bTab As DataTable
 
Private Sub ExecuteLMD(bSql As String, bTable As String)
        sqlCONN.Open()
        Dim sqlCmd As New SqlCommand(bSql)
        Dim Dadpter As New SqlDataAdapter(sqlCmd)
        bTab = New DataTable
        Dim DSet As New DataSet
        sqlCmd.Connection = sqlCONN
        Dadpter.Fill(DSet, bTable)
        bTab = DSet.Tables(bTable)
 
        DSet = Nothing
        sqlCmd = Nothing
        Dadpter = Nothing
        sqlCONN.Close()
End Sub
 
Private Sub RealisationGraphe()
        Dim bStr As String
        Dim series As Series
        bStr = "select sum(Montant) as M,Libellé from table_vente group by Libellé order by sum(Montant) Desc"
        ExecuteLMD(bStr, "table_vente")
        chart_vente.DataSource = bTab
 
        'chart_vente.Series(0).YValueMembers = "M"
        'chart_vente.Series(0).XValueMember = "Libellé"
 
        For Each series In chart_vente.Series
                series.YValueMembers = "M"
                series.XValueMember = "Libellé"
 
                series.ChartType = SeriesChartType.Funnel
                series("FunnelPointGap") = "2"
 
                ' Angle 3D (entre -10 et 10): -10=vue de dessous, 10=vue de dessus.
                series("Funnel3DRotationAngle") = "10"
 
                ' Style 3D  "CircularBase" ou "SquareBase" (base circlaire ou carré)
                series("Funnel3DDrawingStyle") = "CircularBase"
 
                'series("FunnelStyle") = "YIsHeight"
                'series("FunnelLabelStyle") = "Outside"
        Next
 
        'For i As Integer = 0 To bTab.Rows.Count - 1
        '    Dim A As String = bTab.Rows(i).Item("Libellé").ToString
        '    chart_vente.Series(1).Points(i).Label = bTab.Rows(i).Item("Libellé").ToString
        'Next
end sub
 
 
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        RealisationGraphe
end sub
End Class
Volilà le graphe que j'obtiens

Nom : chart en entonnoir.png
Affichages : 278
Taille : 12,2 Ko

et voilà le graphe que je veux obtenir

Nom : chart en entonnoir 2.png
Affichages : 907
Taille : 110,8 Ko

Merci d'avance