Bonjour à tous,
J'ai récuppéré dans le cadre de mon travail une base de données. Lorsque je lance une des macro, j'ai un message d'erreur :
Erreur d'execution '1004'
Impossible de définir la propriété Text de la classe ChartList
N'étant aps un expert Access j'epsere que quelqu'un pourra trouver d'ou vient l'erreur. Visiblement, cette erreur est apparue suite au passage Access 2003 / Access 2007...
voici le code SQL posant probleme, avec en gras la ligne de bug...
Merci de l'aide que vous pourrez m'apporter
Public Function InitialisationGraphOLE(GraphOLE As Object, _
RequeteGraphique As String, TitreGraphique As String, TypeGraphique As String, Optional YScale As Long = 1000)
Dim RST As DAO.Recordset
Dim GOLE As Chart
Set GOLE = GraphOLE.object
ErreurRequete = ""
' Initialisation de la requete
If (RequeteGraphique <> "") Then
If QueryDefExist("QTemp_G") Then
DoCmd.DeleteObject acQuery, "QTemp_G"
CurrentDb.CreateQueryDef "QTemp_G", RequeteGraphique
Else
CurrentDb.CreateQueryDef "QTemp_G", RequeteGraphique
End If
'MsgBox VarType(CurrentDb.OpenRecordset("QTemp_G", dbReadOnly))
Set RST = CurrentDb.OpenRecordset("QTemp_G", dbReadOnly)
If RST.RecordCount > 0 Then
GraphOLE.RowSource = RequeteGraphique
Else
ErreurRequete = "Aucun enregistrement n'a été retourné suite à votre séléction. Le formulaire de sélection est réinitilisé sur l'indicateur par défaut."
End If
'Call DetruireRecordSetTemporaire(RST)
DoCmd.DeleteObject acQuery, "QTemp_G"
End If
If ErreurRequete = "" Then
' Initialisation du Titre
If (RequeteGraphique <> "") Then GOLE.ChartTitle.Text = TitreGraphique
' Initialisation Type Graphique
With GOLE
Select Case TypeGraphique
Case "Histogramme"
.ChartType = xlColumnClustered ' Histo
Case "Courbe"
.ChartType = xlLineMarkers ' Courbe
Case "Cylindre"
.ChartType = xlCylinderColClustered ' Cylindres
Case Else
' .ChartType = xlCylinderColClustered ' Cylindres
.ChartType = xlColumnClustered ' Histo
End Select
' Initialisation echelle Mesure Indicateur : Millier, Million
'GOLE.SeriesCollection(1) . .Verb Verb:=xlPrimary
'Axes
' .Axes(xlValue).MinorUnitIsAuto = True
' .Axes(xlValue).MajorUnitIsAuto = True
' .Axes(xlValue).MinimumScaleIsAuto = True
' .Axes(xlValue).MaximumScaleIsAuto = True
Select Case YScale
Case 100
.Axes(xlValue).DisplayUnit = xlHundreds
Case 1000
.Axes(xlValue).DisplayUnit = xlThousands
Case 1000000
.Axes(xlValue).DisplayUnit = xlMillions
Case Else
.Axes(xlValue).DisplayUnit = xlNone
End Select
.Axes(xlValue).HasDisplayUnitLabel = True
' Légende
.Legend.Font.Size = 8
.Legend.Border.Weight = 1
.Legend.Position = xlLegendPositionRight
End With
'Initialisation Série
End If
Set RST = Nothing
InitialisationGraphOLE = ErreurRequete
End Function
Configuration: Windows XP Internet Explorer 6.0