coolboy2008
Messages postés15Date d'inscriptiondimanche 18 janvier 2009StatutMembreDernière intervention 1 décembre 2011
-
16 févr. 2011 à 12:54
JSilvere
Messages postés161Date d'inscriptionlundi 28 février 2011StatutMembreDernière intervention11 février 2013
-
17 mars 2011 à 15:52
bonjour,
dans mon projet en Vb6, j'ai commencer a crée des rapport excel, je lance un code dans vb et ceci m'ouvre une page excel avec mon graphe, tout fonctionne le problème est que quand j'ouvre deux fois d'affiler le rapport j'ai cette erreur :
"run time error 1004 method sheets of object_global failed"
après avoir cherche ceci est une erreur connue mais pas trouver de reponse voici mon code:
le bouton :
------------------------------------------------------
Private Sub cmdGo_Click()
Dim xlSheet As Object
CreationClasseur ' cr?e un classeur excell et y met des donn'es pour construire le graphe
ConstruireGraph 'construit le graphe
End Sub
-------------------------------------------------
les fonctions:
---------------------------------------------------
Public Sub CreationClasseur()
On Error Resume Next
Set xlSheet = GetObject(, "Excel.Application")
Set xlSheet = Nothing
On Error GoTo 0
If xlSheet Is Nothing Then
Set xlSheet = New Excel.Application
xlSheet.EnableEvents = False
End If
Dim strsql, strBODY, monthname1 As String
Dim sumorder, SumMoneyMonthorder, i As Integer
Dim sumyear, sum As Integer
strBODY = ""
sumyear = 0
sumorder = 0
SumMoneyMonthorder = 0
index = 1
strsql = " Select * from Tbl_Orders Order by Or_Date"
Set rs = con.Execute(strsql)
Do While Not rs.EOF
If Year(Date) = Year(rs("Or_Date")) Then
montharray(Month(rs("Or_Date"))) = montharray(Month(rs("Or_Date"))) + rs("Or_totalprice")
orderarray(Month(rs("Or_Date"))) = orderarray(Month(rs("Or_Date"))) + 1
sumyear = sumyear + rs("Or_totalprice")
End If
rs.MoveNext
Loop
Set xlSheet = CreateObject("Excel.Application") ' cr?e une application Excell
xlSheet.Application.DisplayAlerts = False 'annule les messages
xlSheet.Application.Visible = True 'rend la fen?tre Excell visible
xlSheet.Workbooks.Add 'ajoute un classeur
'remplit la pr?mi?re feuille de donn'es utilis'es pour construire le graphe
End Sub
-------------------------------------------------------------------------
fonction 2:
Public Sub ConstruireGraph()
Dim Result As String
'ne pas oublier d'ajouter la r?f?rence Microsoft Excel 8.0 Object Library au projet, sinon impossible de cr?er l'application Excell
Dim ch As ChartObject 'ch va recevoir le graphique
Set ch = Nothing
Set ch = Worksheets(1).ChartObjects.Add(180, 40, 700, 400) ' le graphique sera trac? dans la pr?mi?re feuille du classeur
'trace le graphe een prenant les donn'es de la cellule A1 ? la cellule B6
'With ch.Chart.Axes(xlValue, xlPrimary)
'.HasMajorGridlines = False
'End With
Set ExcelSheet = Nothing
End Sub
------------------------------------------------------------------------------------
JSilvere
Messages postés161Date d'inscriptionlundi 28 février 2011StatutMembreDernière intervention11 février 2013 17 mars 2011 à 15:41
Salut, j'ai pour projet de programmer moi aussi un code permettant de tracer des courbes sous exel, et en me renseignant, je suis tomber sur un code qui devrais pouvoir t'aider ;)
JSilvere
Messages postés161Date d'inscriptionlundi 28 février 2011StatutMembreDernière intervention11 février 2013 17 mars 2011 à 15:52
D'ailleur ton code m'interresse, j'ai essayé de le faire fonctionné, mais lors de l'execution, j'ai un message d'erreur me disant que xlSheet est une variable non définit...