[vb6] excel et vb6 message d'erreur

[Résolu]
Signaler
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
-
Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
-
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

Messages postés
695
Date d'inscription
jeudi 5 mai 2005
Statut
Membre
Dernière intervention
5 janvier 2010
30
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 112 internautes nous ont dit merci ce mois-ci

Messages postés
402
Date d'inscription
jeudi 25 novembre 2004
Statut
Membre
Dernière intervention
7 juin 2009
5
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