2007/2010 y a un truc!

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

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
 

Discussions similaires

Réponses
19
Affichages
2 K
Réponses
8
Affichages
642

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth