Philippe63000
XLDnaute Junior
Bonjour,
Le programme ci-dessous tourne sur excel 2007 (je pense 32 bits) windows xp.
Mais j'ai voulu le faire tourner sur excel 2010 windows 7 'je pense 64 bits) et : problème.
Il n'accepte pas la définition de l'habillage de la courbe 2 et l'instruction
.SeriesCollection(2).Values = Tableau3() 'Ordonnées
génère une erreur.
Pourriez-vous m'aider à adapter cette routine au nouvel environnement.
Merci d'avance
Le programme ci-dessous tourne sur excel 2007 (je pense 32 bits) windows xp.
Mais j'ai voulu le faire tourner sur excel 2010 windows 7 'je pense 64 bits) et : problème.
Il n'accepte pas la définition de l'habillage de la courbe 2 et l'instruction
.SeriesCollection(2).Values = Tableau3() 'Ordonnées
génère une erreur.
Pourriez-vous m'aider à adapter cette routine au nouvel environnement.
Merci d'avance
PHP:
Sub tracer_courbe()
Dim TD(10, 2)
For j = 1 To 2
For i = 1 To 10
TD(i, j) = i + j
Next
Next
' définition du graphique comme objet
'---------------------------------------------------
Dim Graph As ChartObject
With sheets("Feuil1")
Dim tableau() As Variant, Tableau3() As Variant, tableau2() As Variant
' redimentionnement des tableaux utilisés
'------------------------------------------------------
ReDim Preserve tableau(UBound(TD))
ReDim Preserve Tableau3(UBound(TD))
ReDim Preserve tableau2(UBound(TD))
'Création du tableau pour les Abscisses et ordonnées
'-----------------------------------------------------
seuil = "2,7"
seuil = Replace(seuil, ".", ",")
seuil1 = Val(seuil)
For i = 1 To UBound(TD)
tableau(i) = i
tableau2(i) = TD(i, 2)
Tableau3(i) = seuil1
Next i
'-----------------------------------------------------------
Set Graph = .ChartObjects.Add(100, 80, 640, 300)
End With
With Graph.Chart
.ChartType = xlLine ' type de graphique
.SeriesCollection.NewSeries
' définition de l'habillage de la courbe 2
'---------------------------------------------------------------------------------
.SeriesCollection(2).Border.Color = RGB(0, 100, 0) ' 255,0,0 = rouge '0,0,0=noire
.SeriesCollection(2).Border.Weight = xlThick 'ligne epaisse
.SeriesCollection(2).Border.LineStyle = xlDashDotDot 'xlContinuous 'ligne continu
' les données sont tirées des trois tableaux
'---------------------------------------------------------------
.SeriesCollection(1).XValues = tableau() 'Abscisses
.SeriesCollection(1).Values = tableau2() 'Ordonnées
.SeriesCollection(2).Values = Tableau3() 'Ordonnées
'-----------------------------------
Graph.Chart.HasLegend = False
End With
' affichage de l'étiquette sur la droite à la suite du dernier point
'--------------------------------------------------------------
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(2)
.ApplyDataLabels AutoText:=True, _
LegendKey:=False, _
ShowSeriesName:=False, _
ShowCategoryName:=False, _
ShowValue:=False, _
ShowPercentage:=False, _
ShowBubbleSize:=False
.Points(.Points.Count).ApplyDataLabels ShowValue:=True
.Points(.Points.Count).DataLabel.Text = "Seuil sélectionné"
End With
End Sub