im_Guillaume
XLDnaute Nouveau
Bonjour,
Je cherche a appliquer un repère orthonormé à un graphique, dans une feuille graphique excel à l'aide d'une VBA.
La fonction Coupe_transv_ortho arrive bien à entrer dans la feuille graphique mais ne reconnait aucun type ChartObject.
Voici le script :
--------------------------------------------------------------------------
Sub Repère_orthonormé(CO As ChartObject, Direction As String)
L.Longre MPFE
Dim C As Chart
Dim AV As Axis, AH As Axis
Dim AVAmpl As Double, AHAmpl As Double
Dim Obj As Integer
With CO
Set C = .Chart
Set AV = C.Axes(xlValue)
Set AH = C.Axes(xlCategory)
AVAmpl = AV.MaximumScale - AV.MinimumScale
AHAmpl = AH.MaximumScale - AH.MinimumScale
If Direction = "V" Then
Obj = AH.Width * AVAmpl / AHAmpl
.Height = Obj + .Height - C.PlotArea.Height
Do Until AV.Height > Obj
.Height = .Height + 1
Loop
ElseIf Direction = "H" Then
Obj = AV.Height * AHAmpl / AVAmpl
.Width = Obj + .Width - C.PlotArea.Width
Do Until AH.Width > Obj
.Width = .Width + 1
Loop
Else: Err.Raise 5
End If
End With
End Sub
Sub Coupe_trans_ortho()
Charts("Coupe transversale").Activate
Call Repère_orthonormé(Active.ChartObject(1), "V")
End Sub
---------------------------------------------------------------------------------------
La fonction Sub Repère_orthonormé demande en entrée un ChartObject et un String, puis orthonorme le repère.
La fonction Coupe_trans_ortho doit donc faire appelle à la fonction Repère_orthonormé pour orthonormer le graphique situé dans la feuille graphique "Coupe transversale".
Merci d'avance pour votre aide,
Je cherche a appliquer un repère orthonormé à un graphique, dans une feuille graphique excel à l'aide d'une VBA.
La fonction Coupe_transv_ortho arrive bien à entrer dans la feuille graphique mais ne reconnait aucun type ChartObject.
Voici le script :
--------------------------------------------------------------------------
Sub Repère_orthonormé(CO As ChartObject, Direction As String)
L.Longre MPFE
Dim C As Chart
Dim AV As Axis, AH As Axis
Dim AVAmpl As Double, AHAmpl As Double
Dim Obj As Integer
With CO
Set C = .Chart
Set AV = C.Axes(xlValue)
Set AH = C.Axes(xlCategory)
AVAmpl = AV.MaximumScale - AV.MinimumScale
AHAmpl = AH.MaximumScale - AH.MinimumScale
If Direction = "V" Then
Obj = AH.Width * AVAmpl / AHAmpl
.Height = Obj + .Height - C.PlotArea.Height
Do Until AV.Height > Obj
.Height = .Height + 1
Loop
ElseIf Direction = "H" Then
Obj = AV.Height * AHAmpl / AVAmpl
.Width = Obj + .Width - C.PlotArea.Width
Do Until AH.Width > Obj
.Width = .Width + 1
Loop
Else: Err.Raise 5
End If
End With
End Sub
Sub Coupe_trans_ortho()
Charts("Coupe transversale").Activate
Call Repère_orthonormé(Active.ChartObject(1), "V")
End Sub
---------------------------------------------------------------------------------------
La fonction Sub Repère_orthonormé demande en entrée un ChartObject et un String, puis orthonorme le repère.
La fonction Coupe_trans_ortho doit donc faire appelle à la fonction Repère_orthonormé pour orthonormer le graphique situé dans la feuille graphique "Coupe transversale".
Merci d'avance pour votre aide,