Pour completer mon message , je vais vous expliciter mon probleme obtenu.
Donc le problème est que sur excel 2000, les courbes que je traces avec un logiciel codé en VB6 se tracent parfaitement.
Mais dès lors qu'on l'utilise avec la suite office 2010, tout est modifié...
par exemple, ce morçeau de code permet de placer ma légende "MAXIMUM ABSORBED REACTIVE POWER" nomzone$ = "Zone d'absorption maximale"
Xpoint = (Val(U(k, 1, Val(NBPTS(k)))))
Ypoint = (Qmin(k) + DeltaQ(k))
TextZone k, nomzone$, UCase(ERA), Xpoint, Ypoint, Xpoint + 2, Ypoint
et TextZone est une fonction
Public Sub TextZone(k%, ZoneName$, texte$, x1!, y1!, x2!, y2!, Optional couleur%)
Dim XX0!, YY0!, l!, LL!, h!, HH!
Dim XX1!, YY1!, DX!, DY!
XX0 = ActiveChart.PlotArea.InsideLeft
YY0 = ActiveChart.PlotArea.InsideTop
HH = ActiveChart.PlotArea.InsideHeight
LL = ActiveChart.PlotArea.InsideWidth
If (IPRESENT 1 Or IPRESENT 10) Then
If reponse <> "non" Then
h = Qmax(k) - Qmin(k)
l = Umax(k) - Umin(k)
XX1 = XX0 + (x1 - Umin(k)) * LL / l
YY1 = YY0 + (Qmax(k) - y1) * HH / h
Else
h = Umax(k) - Umin(k)
l = Qmax(k) - Qmin(k)
XX1 = XX0 + (Qmax(k) - x1) * LL / l
YY1 = YY0 + (y1 - Umin(k)) * HH / h
End If
Else
If reponse = "non" Then
h = Qmax(k) - Qmin(k)
l = Umax(k) - Umin(k)
XX1 = XX0 + (x1 - Umin(k)) * LL / l
YY1 = YY0 + (Qmax(k) - y1) * HH / h
Else
h = Umax(k) - Umin(k)
l = Qmax(k) - Qmin(k)
XX1 = XX0 + (Qmax(k) - x1) * LL / l
YY1 = YY0 + (y1 - Umin(k)) * HH / h
End If
' End If
End If
DX = (x2 - x1) * LL / l
DY = (y1 - y2) * HH / h
' fin de modification 003-D
'Form1.Text4.Text = XX0 & "-" & YY0 & "-" & HH & "-" & LL & "-" & h & "-" _
& l & "-" & XX1 & "-" & YY1
With ActiveChart
Set pa = .PlotArea
With .Shapes.AddTextbox(msoTextOrientationHorizontal, XX1, YY1, DX, DY)
' .TextFrame.Characters.Font.Name = "Arial Narrow"
.TextFrame.Characters.Font.ColorIndex = couleur
.TextFrame.Characters.Text = texte$
.TextFrame.HorizontalAlignment = xlLeft
.TextFrame.VerticalAlignment = xlTop
.TextFrame.Characters.Font.Size = 9 '8
.TextFrame.AutoSize = True
.Name = ZoneName$
End With
End With
End Sub
Donc logiquement, ma légende devrait bien se placer car ce sont des formules mathématiques qui positionne le X et le Y.
J'ai même essayé de fixer les coordonnées en dur dans le code mais rien ne se passe ... j'obtiens toujours le même résultat.
Est-ec que quelqu'un pourrait - il m'aider ?
Je vous en serais reconnaissant.
Merci.
(Ps: Soyez indulgent, j'ai découvert le VB6 il y a 3 jours ... )