bonjour,
J'ai un problème que je n'arrive pas à résoudre depuis plusieurs semaine.
je trace une courbe dynamique suivant des durées et des valeurs comprise entre 0 et 150. Cela correspond à une évolution d'état. Pour marqué des étapes importantes , je trace des traits verticaux. Ces étapes se trouvent dans un fichier txt que Excel lit.
Mon problème est que les traits verticaux ne sont pas au bonnes abscisses.
Pour l'instant je fais ceci pour tracer ses traits
J'aimerais savoir :
1. Comment obtenir la bonne coordonnée d'abscisse suivant le pas du graphique?
2. Si impossible comment obtenir la coordonnée d'abscisse du point précédent ll'étape à tracer?
3.Comment on utilise les Sub?
merci de votre aide
cordialement
J'ai un problème que je n'arrive pas à résoudre depuis plusieurs semaine.
je trace une courbe dynamique suivant des durées et des valeurs comprise entre 0 et 150. Cela correspond à une évolution d'état. Pour marqué des étapes importantes , je trace des traits verticaux. Ces étapes se trouvent dans un fichier txt que Excel lit.
Mon problème est que les traits verticaux ne sont pas au bonnes abscisses.
Pour l'instant je fais ceci pour tracer ses traits
Code:
'Sauvegarde des séquences
ActiveWorkbook.Worksheets("LISTE").Activate
nbL = WorksheetFunction.CountA(Range("A:A")) - 1
Set fs = CreateObject("Scripting.FileSystemObject")
Set SeqTxt = fs.OpenTextFile("Mon Path", 1)
Seq = Array(SeqTxt.readline, SeqTxt.readline, SeqTxt.readline, SeqTxt.readline, SeqTxt.readline, SeqTxt.readline, Cells(nbL, 1).Text)
'Mise en forme des séquences nulles
For i = 0 To 6
If Seq(i) = "0000000000" Then
Seq(i) = "31/12/9999 23:59:59"
End If
Next i
'Recherche de l'endroit à placer la séquence
While Trim(Cells(numL, 1).Value) <> ""
If (CDate(Cells(numL, 1).Value) > CDate(Seq(Seqencours)) And (Seqencours < 6)) Then
'Défini la coordonnée en pixel du point
ActiveWorkbook.Worksheets("GRAPHE").Activate
ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Select
LgPo = ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.PlotArea.InsideWidth
Xzero = ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.Axes(xlValue).Left
pas = (LgPo - (0.08 * LgPo) / nbL)
pt = (pas * (numL - 2)) + Xzero '-2 permet le décalage
'Trace la droite de séquence
DebX = pt
FinX = pt
DebY = ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.PlotArea.Top + 3
FinY = ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.Axes(xlCategory).Top
ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.PlotArea.Select
ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.Shapes.AddLine(DebX, DebY, FinX, FinY).Select
'Mise en place du texte
DebX = DebX - 7
ActiveWorkbook.Worksheets("GRAPHE").ChartObjects(1).Chart.Shapes.AddTextbox(msoTextOrientationHorizontal, DebX, 25, 18, 14).Select
Selection.Characters.Text = LabelSeq(Seqencours) 'Sequence
Selection.AutoScaleFont = False
With Selection.Characters(Start:=1, Length:=2).Font
.Name = "Arial"
.FontStyle = "Normal"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Seqencours = Seqencours + 1 'changement de sequence
End If
If (numL <= nbL + 1) Then 'changement de point
numL = numL + 1
End If
ActiveWorkbook.Worksheets("LISTE").Activate
Wend
1. Comment obtenir la bonne coordonnée d'abscisse suivant le pas du graphique?
2. Si impossible comment obtenir la coordonnée d'abscisse du point précédent ll'étape à tracer?
3.Comment on utilise les Sub?
merci de votre aide
cordialement