[vb6] excel et vb6 message d'erreur

Résolu
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 - 23 juin 2005 à 13:37
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 - 26 juil. 2006 à 08:16
Hello! Petit probleme : j'ouvre excel à partir de vb pour y faire des stats, et en fait, j'utilise le meme procédé en changeant juste ma requete... mon probleme est que quand j'essaie de faire une deusieme fois des stats, je recois un message d'erreur au niveau With ActiveChart
Il faut savoir que je ferme excel à la main... Est ce que je devrais le fermer de vb? Ou quel peut etre mon probleme?

Dim con As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
Dim tablo
On Error GoTo msgErreur


'declaration de la connexion
Set cnx = New ADODB.Connection 'connection à la base
cnx.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\metrologie.mdb"

cnx.Open
Set rs = New Recordset


rs.Open "select * from controle_pf where maj_min = 1", cnx, adOpenDynamic, adLockOptimistic
'Initialisation de MonWd
'rs1.Open " select ", cnx, adOpenDynamic, adLockOptimistic
Set monex = CreateObject("Excel.Application")
monex.Visible = True
'enlevez le commentaire pour les tests

'Ouverture d'un document xls
monex.Workbooks.Open "H:\projet\essai.xls"
s = rs![Date]
'tablo = Split(s, "/")
's = tablo(1)
'cnx.Close
'cnx.Open
t = Month(s)
i = 1
cnx.Close
For i = 1 To 12
cnx.Open
Set rs1 = New Recordset
rs1.Open "select count(*) as q from controle_pf where month([date])= " & i & " and maj_min = 1", cnx, adOpenDynamic, adLockOptimistic


r = rs1!q
monex.Worksheets("feuil1").Cells(2, i).Value = r
'Set = Nothing

Set rs1 = Nothing

cnx.Close
'rs1.
Next

monex.Worksheets("feuil1").Cells(1, 1).Value = "janvier"
monex.Worksheets("feuil1").Cells(1, 2).Value = "fevrier"
monex.Worksheets("feuil1").Cells(1, 3).Value = "mars"
monex.Worksheets("feuil1").Cells(1, 4).Value = "avril"
monex.Worksheets("feuil1").Cells(1, 5).Value = "mai"
monex.Worksheets("feuil1").Cells(1, 6).Value = "juin"
monex.Worksheets("feuil1").Cells(1, 7).Value = "juillet"
monex.Worksheets("feuil1").Cells(1, 8).Value = "aout"
monex.Worksheets("feuil1").Cells(1, 9).Value = "septembre"
monex.Worksheets("feuil1").Cells(1, 10).Value = "octobre"
monex.Worksheets("feuil1").Cells(1, 11).Value = "novembre"
monex.Worksheets("feuil1").Cells(1, 12).Value = "decembre"


monex.Range("A2:L2").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=monex.Sheets("Feuil1").Range("A1:L2"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "defaut majeur"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "mois"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "nombre"
End With
'Range(D6).Select
'Columns("A:A").EntireColumn.AutoFit
Exit Sub
msgErreur:
MsgBox ("probleme de connexion")

End Sub



(Si la réponse vous convient, appuyez sur réponse acceptée...)

Il y a plusieurs facon d'être con ,mais un con choisit toujours la pire

2 réponses

tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
26 juil. 2006 à 08:16
c'est bon j'ai trouvé ce que c'était finalement. rien de bien difficile... Il fallait que je me place sur le graph...

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
3
mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
23 juin 2005 à 15:03
En général j'essaie au maximum de travailler avec les ActiveXXXX (ActiveCell, ActiveChart ....) car ils répondent à des contraintes visuelles. Ex : Si tu masques ta feuille active, ActiveSheet est modifié

Je te suggère de rajouter une variable pour ton graphique :
Dim l_Chart as Object (ou as Chart si tu as inclus les réf. Excel)

Set l_Chart = Charts.Add
With l_Chart
.ChartType = xlColumnClustered
.SetSourceData Source:=monex.Sheets("Feuil1").Range("A1:L2"), PlotBy:= _
xlRows
.Location Where:=xlLocationAsObject, Name:="Feuil1"
.HasTitle = True
.ChartTitle.Characters.Text = "defaut majeur"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "mois"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "nombre"
End With

Ca résoudra peut être ton pb
0
Rejoignez-nous