Pour les derniers codes, même erreur
L'index de cette collection est en dehors des limites
Pour les derniers codes, même erreur
L'index de cette collection est en dehors des limites
Ecoute je vien de faire un essay et malheureusement sa marche du feu de dieu
regarde tu vera ton graphe ce reduire de moitier.
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 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 = True Dim i As Integer = 0 l_objexcel.Range("A1").Value = 1 l_objexcel.Range("B1").Value = 2 l_objexcel.Range("A2").Value = 1 l_objexcel.Range("B2").Value = 2 l_objexcel.Range("A3").Value = 1 l_objexcel.Range("B3").Value = 2 l_objexcel.Range("A1:B3").Select() l_objexcel.ActiveSheet.Shapes.AddChart.Select() 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(1).Activate() l_objexcel.ActiveChart.ChartTitle.Text = "MON TITRE" l_objexcel.ActiveChart.ApplyDataLabels(XlDataLabelsType.xlDataLabelsShowPercent) l_objexcel.Sheets(1).Shapes(1).ScaleWidth(0.5, 0, 0)
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
J AI TROUVER TON PROBLEME !!!
Tu fait un ActiveSheet.chart.add !!!!!
C'est pour sa !! ce n'est pas un shapes !!!
La mon graphe devien un shape !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part l_objexcel.ActiveSheet.Shapes.AddChart.Select()
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Je viens d'essayer et j'ai tjrs une erreur au niveau de :
l_objexcel.ActiveSheet.Chart.Add()
L'erreur est : Le membre public 'Chart' du type 'worksheet' est introuvable
IL ne faut pas mettre sa !
il faut mettre : l_objexcel.ActiveSheet.Shapes.AddChart.Select()
Tu selectionne la zone et tu créer non pas ton graphe mais un shape :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 l_objexcel.Range("A1:B3").Select() l_objexcel.ActiveSheet.Shapes.AddChart.Select()
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Même erreur
Le membre 'AddChart' de type 'Shapes' est introuvable
Honnetement moi sa fonctionne très bien avec le code que je t'ai mis, mais la methode doit etre vraiment different avec Office 2003, essay des macros ou sinon install le 2007 !
Je suis sincerement dsl de ne pas pouvoir plus t'aider
sinon crée ton graphe comme avant et copie le dans un shapes.
Ou sinon fai comme je t dit resize le dans un picture box.
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Merci bcp " Silvers " , vous m'avez apporté une aide précieuse.
Je pense que je vais installer office 2007 pour éviter tous ces pbs.
Encore une fois
Une fois 2007 installer nous pourrons reprendre cette discution, en attendant je regrette de ne pas avoir pu t aider comme je l aurai souhaiter.
Chao, a bientot
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Je vien d'essayer en 2003 avec vs 2005 et sa marche comme sa :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 l_objexcel.Range("A1:B3").Select() l_objexcel.charts.add l_objexcel.ActiveChart.ChartType = Excel.XlChartType.xl3DPieExploded l_objexcel.ActiveChart.SeriesCollection(1).Select() l_objexcel.ActiveChart.Location(Where:=xlLocationAsObject, Name:="Feuil1") l_objexcel.ActiveSheet.Shapes(1).ScaleWidth(0.5,0,0) l_objexcel.ActiveSheet.Shapes(1).ScaleHeight(0.5,0,0)
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Bonjour ' Silvers '
Je viens de lire votre solution, je l'ai essayé mais malheureusement J'ai tjs la même erreur.
J'ai trouvé une solution qui n'est pas trés "optimale" (mais je vais l'adopté car j suis limitée par le temps), en fait j'ai redimentionné mon camambert.
J'envoie comem le code "CHART"
Je tiens vraiment à vous remercier du fond du coeur 'Silvers' pour avoir répondu à mes questions, vous m'avez aidé à résoudre un PB que je trouvais insolvable, encore une fois MERCI
C'est tout à fait normal Je pense que tout le monde en aurai fait autant.
A+
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Bonjour Edouard,
Pour fair sa c'est simple tu copie ton graphe:
et tu colle dans le PictureBox:
Code : Sélectionner tout - Visualiser dans une fenêtre à part objexcel.ActiveChart.ChartArea.Copy
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dim objbmp As Object objbmp = Clipboard.GetImage PictureBox1.Image = objbmp
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Bonjour,
J'avais le même problème c'est à dire que je cherchais comment créer des graphes avec VB.net. La solution que tu propose me pose problème silvers, car à la compilation j'ai des erreurs du type "Type Excel.Application is not defined".
J'ai pourtant bien cocher Excel library dans projet -> References. J'ai Visual studio 2005 et Excel 2007.
Peut être dois je faire un imports quelquechose?
Merci de votre aide
A tu mis dans ton code le import Excel ?
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Enfait tu doit ajouter dans tes références Microsoft Excel 12 (pour 2007)
et Microsoft.interop dans l'espace de nom importés
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Non je n'ai pas mis de import excel. Ou faut il que je le mette exactement ?
De plus qu'est ce que Microsoft.interop? SQ'agit il d'une reference à ajouter?
Sinon, ou pourrais trouver une documentation complète et précise de toutes les possibilités qu'offre Excel en VB?
Merci
il faut que tu ajout dans tes reférences Microsoft.office12
Puis tu fait un Import Microsoft.interop dans ta class
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
ok, je viens de rajouter le imports et cela fonctionne.
Cependant il y a quelquechose que je voudrasi te demander : si je veux faire la meme chose mais avec un histogramme, ou bien une courbe classique abscisses ordonnées etc, quel type de chart faut-il que j'indique ? Tu utilise le nom " l_objexcel.ActiveChart.ChartType = Excel.XlChartType.xl3DPieExploded", mais ou trouver le nom des autres types de graphiques?
De plus, pourrais tu me détailler chaque ligne de code de ce bloc s'il te plait, car je ne vois pas bien quelles valeurs et quelles cases Excel utilise pour tracer son graphique... Merci d'avance silvers !!
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 For i = 1 To 5 l_objexcel.Range("A" & i).Value = i l_objexcel.Range("B" & i).Value = i Next 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"
OK c'est partie
Premierement :
Pour avoir les types de graphe tu tapeApres avoir mis ce dernier "." il te proposera tout les types de graphe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Excel.XlChartType.
Sinon va dans l'explorateur d'objet et tape dans rechercher : XlChartType
Deuxiemement :
Cette boucle rempli les cellules de valeurs utile pour le graphe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 For i = 1 To 5 l_objexcel.Range("A" & i).Value = i l_objexcel.Range("B" & i).Value = i Next
Traduction :
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 De i = 1 Jusque 5 la cellule("A" & i).Value = i la cellule("B" & i).Value = i Suivant
Ensuite on selectionne la plage de données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 De i = 1 Jusque 5 la cellule("A" & 1).Value = 1 'soit la cellule A1 = 1 la cellule("B" & 1).Value = 1 'soit la cellule B1 = 1 Suivant
Traduction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part l_objexcel.Range("A1:B" & i - 1).Select()
Puis on insere notre graphe par rapport à la selection:
Code : Sélectionner tout - Visualiser dans une fenêtre à part Les cellules("A1:B4").Select()
Code : Sélectionner tout - Visualiser dans une fenêtre à part l_objexcel.ActiveSheet.Shapes.AddChart.Select()
Tout le reste son les parametres du graphe, mais si tu t'arrete ici ton graphe aura une allure par defaut.
J'ai été assez claire ? Le cas échéant n'ésite pas à demander.
Vient te battre si tu es un homme ! ! ! : http://Silver-Chacal.labrute.fr
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager