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

Windows Forms Discussion :

Camambert 3D en VB.NET ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut Camambert 3D en VB.NET ?
    Bonsoir

    Je travaille avec VS 2005, dans mon appli j'ai besoin de faire des Stat, j'ai utilisé donc (Microsoft Chart Control 6.0) et j'ai abouti à des camamberts 2D, mon problème c'est que je les veux en 3D.

    Est-ce possible avec VB.NET ??

    Merci d'avance

  2. #2
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    J'ai regarde si ZedGraph fait le 3D, mais ca n'a pas l'air.
    En tout as, je pense que ca sera deja mieux.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut
    Merci Danyel
    Je vien de voir le lien que vous m'avez donné
    Je continue commem mes rech Mais apparemment

  4. #4
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Peut etre trouveras-tu ce que tu cherches avec l'ami

  5. #5
    Membre éclairé Avatar de Silvers
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 83
    Par défaut
    J'ai deja voulu faire sa aussi mais j'ai tous simplement utilisé excel.

    J'instancie Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
                Dim l_objexcel As Excel.Application
                Dim l_objworkbook As Excel.Workbook
                l_objexcel = New Excel.Application
                l_objworkbook = l_objexcel.Workbooks.Add
                l_objexcel.Visible = False
                Dim i As Integer = 0
    Je remplis mes colonnes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     For i = 1 To DGVAP.Rows.Count - 1
                    l_objexcel.Range("A" & i).Value = DGVAP.Rows(i - 1).Cells(0).Value
                    l_objexcel.Range("B" & i).Value = DGVAP.Rows(i - 1).Cells(2).Value
                Next
    Je créer mon graph (avec excel 2007 donc de suberbe camamberts 3d avec reflets et ombres) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     l_objexcel.Range("A1:B" & i - 1).Select()
                l_objexcel.ActiveSheet.Shapes.AddChart.Select()
                l_objexcel.ActiveChart.SetSourceData(Source:=l_objexcel.Range("A1:B" & i - 1))
                l_objexcel.ActiveChart.ChartType = Excel.XlChartType.xl3DPieExploded
                l_objexcel.ActiveChart.ChartStyle = 26
                l_objexcel.ActiveChart.ClearToMatchStyle()
                l_objexcel.ActiveChart.ApplyLayout(2)
                l_objexcel.ActiveChart.SeriesCollection(1).Select()
                l_objexcel.ActiveSheet.ChartObjects("Graphique 1").Activate()
                l_objexcel.ActiveChart.ChartTitle.Text = "MON TITRE"
    Je le selectionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    l_objexcel.ActiveChart.ChartArea.Select()
    Je le copy et le colle dans un picture box de mon application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    l_objexcel.ActiveChart.ChartArea.Copy()
                Dim objbmp As Object
                objbmp = Clipboard.GetImage
                Graphe.Image = objbmp
    Voila tu ferme excel et c'est fini !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     l_objworkbook.close false
                l_objExcel.quit
                l_objworkbook = nothing
                l_objExcel = Nothing
    Moi j'adore cette méthode.

  6. #6
    Membre éclairé Avatar de Silvers
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 83
    Par défaut
    Sinon j'utilise aussi le controle Infragistic UltraChart qui est tout aussi excellent

  7. #7
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut
    Bonjour
    Merci bcp "Silvers" pour votre réponse, Je m'excuse d'avoir tardé à répondre car j'ai essayé de travailler avec la macro comme vous avez dis, j'ai modifier un peu le pgm, mais là j suis bloquée (j'ai tjrs une erreur: Exception de HRESULT: 0x800A03EC).

    Voici mon pgm "PGM CHART"
    Rq: J'ai testé mon pgm, j'ai pas de problème au niveau du remplissage du datagridview, le problème est dans la deuxième partie du pgm
    Je vous envoie aussi le pgm de la "MACRO"

    Si vous pouvez m'aider ca serait trés gentil de votre part

    Merci
    Fichiers attachés Fichiers attachés

  8. #8
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut
    Citation Envoyé par twitty20 Voir le message
    Bonjour
    Merci bcp "Silvers" pour votre réponse, Je m'excuse d'avoir tardé à répondre car j'ai essayé de travailler avec la macro comme vous avez dis, j'ai modifier un peu le pgm, mais là j suis bloquée (j'ai tjrs une erreur: Exception de HRESULT: 0x800A03EC).

    Je vous envoie mon pgm "PGM CHART"
    Rq: J'ai testé mon pgm, j'ai pas de problème au niveau du remplissage du datagridview les données s'affichent normalement, le problème est dans la deuxième partie du pgm.
    Je vous envoie aussi le pgm de la "MACRO"

    Si vous pouvez m'aider ca serait trés gentil de votre part

    Merci

  9. #9
    Membre éclairé Avatar de Silvers
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 83
    Par défaut
    Je regarde tout de suite

  10. #10
    Membre éclairé Avatar de Silvers
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 83
    Par défaut
    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
    i = DataGridView1.Rows.Count - 1
            l_objexcel.Range("A1:B" & i - 1).Select()
            l_objexcel.Charts.Add()
            l_objexcel.ActiveChart.ChartType = XlChartType.xl3DPie
            l_objexcel.ActiveChart.ChartType = Excel.XlChartType.xl3DPieExploded
            l_objexcel.ActiveChart.SetSourceData(Source:=l_objexcel.Range("A1:B" & i - 1))
            Dim objbmp As Object
            objbmp = Clipboard.GetImage
            PictureBox1.Image = objbmp
     
            l_objexcel.ActiveChart.Location(Excel.XlChartLocation.xlLocationAsObject, objbmp)
            l_objexcel.ActiveChart.ChartTitle.Text = "MON TITRE"
            l_objworkbook.Close(False)
            l_objexcel.Quit()
            l_objworkbook = Nothing
            l_objexcel = Nothing
    Le problème c'est qu'a aucun moment tu copie le graphe dans le presse papier, juste apres lui avoir donné son titre tu le ferme, il faut que tu le copie et que tu le colle dans le picturebox avant de le fermer juste apres l'avoir parametré:
    Tu met Clipboard.GetImage alors que tu ne la pas copié

    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
    i = DataGridView1.Rows.Count - 1
            l_objexcel.Range("A1:B" & i - 1).Select()
            l_objexcel.Charts.Add()
            l_objexcel.ActiveChart.ChartType = XlChartType.xl3DPie
            l_objexcel.ActiveChart.ChartType = Excel.XlChartType.xl3DPieExploded
            l_objexcel.ActiveChart.SetSourceData(Source:=l_objexcel.Range("A1:B" & i - 1))
            l_objexcel.ActiveChart.ChartTitle.Text = "MON TITRE"
            l_objexcel.ActiveChart.ChartArea.Select()
            l_objexcel.ActiveChart.ChartArea.copy()
            Dim objbmp As Object
            objbmp = Clipboard.GetImage
            PictureBox1.Image = objbmp
            l_objworkbook.Close(False)
            l_objexcel.Quit()
            l_objworkbook = Nothing
            l_objexcel = Nothing

  11. #11
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 47
    Par défaut

    Merci pour votre réponse instantanée
    J'ai réecrit le code tel que vous m'avez dit mais j'ai une erreur au niveau de la ligne:
    l_objexcel.ActiveChart.SetSourceData(Source:=l_objexcel.Range("A1:B" & i - 1))

    L'erreur est:
    "Exception de HRESULT : 0x800A03EC"
    J'ai rien compris !

    Merci

  12. #12
    Membre éclairé Avatar de Silvers
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 83
    Par défaut
    A ce moment la "i" vaut combien ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. [Débat] Expériences au sujet de .NET
    Par DevX dans le forum Débats sur le développement - Le Best Of
    Réponses: 46
    Dernier message: 25/05/2014, 11h16
  3. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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