repère orthonormé

  • Initiateur de la discussion JiDul
  • Date de début
J

JiDul

Guest
Bonjour à tous,

Je suis régulièrement confronté à une même problématique sous Excel : gérer les échelles des graphs !

J'aimerais savoir s'il est possible de faire des répères normés (que l'échelle des abscisse ssoit la même que celle des ordonnées).
Et plus généralement, j'aimerais faire correspondre mes échelles avec des grandeurs précises sur le papier (une graduation pour 1 cm par exemple).

Merci,

Jérémie
 
M

mach3

Guest
salut, j'ai le même problème

ce manque dans excel me donne envie d'être très véhèment et de casser du crosoft et du bilou, mais je me modérerai dans ce lieu d'échange où il faut rester courtois.

Sérieusement, depuis environ 10 ans d'existence d'excel, c'est venu à l'esprit d'aucun programmeur de chez microsoft qu'un repère orthonormé était un minimum pour tracer des graphiques proprement???? Des fois je me demande vraiment si les gens qui écrivent les programmes les utilisent (je crois que malheureusement ce n'est pas le cas, bien que ça paraisse surprenant...).

Bref, personne n'a toujours aucune piste vraiment concrète pour faire en sorte d'avoir en repère orthonormé sans avoir à régler la hauteur et la largeur des fenetres graphiques au pixel près???

merci à celui ou celle qui donnera enfin une vrai solution

m@ch3
 

Magic_Doctor

XLDnaute Barbatruc
Bonsoir,

Je relance ce fil, au cas où quelqu'un aurait une idée pour résoudre ce problème qui ne devrait pas se poser dans le prétendu meilleur tableur qui soit... Car, quand on intègre, on visualise mal les surfaces sous la courbe. Et qui n'a jamais entendu parler de repères orthonormés ? Peut-être les mecs de chez Microsoft...
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
J'ai assez fréquemment besoin de graphiques à échelles X et Y identiques, et j'utilise toujours cette procédure pour les égaliser :
VB:
Sub GphIsoEchelles(Optional ByVal Graph As Chart = Nothing, _
   Optional ByVal XGMin As Double = 0, Optional ByVal XDMin As Double = 0, _
   Optional ByVal YHMin As Double = 0, Optional ByVal YBMin As Double = 0)
Dim dX As Double, dY As Double, Largeur As Double, Hauteur As Double, Ech As Double, _
   ZTrac As PlotArea, ObjG As ChartObject, _
   XMil As Double, YMil As Double, _
   XMrg As Double, YMrg As Double, N As Long
If Graph Is Nothing Then Set Graph = ActiveChart
On Error Resume Next
With Graph
   Set ZTrac = .PlotArea: Set ObjG = .Parent: If Err Then Set ObjG = Nothing
   End With
On Error GoTo 0
With Graph.Axes(xlCategory): dX = .MaximumScale - .MinimumScale: End With
With Graph.Axes(xlValue): dY = .MaximumScale - .MinimumScale: End With
If ObjG Is Nothing Then
   Graph.SizeWithWindow = True
   ZTrac.Left = XGMin: ZTrac.Width = Graph.ChartArea.Width - XDMin - XGMin
   ZTrac.Top = YHMin: ZTrac.Height = Graph.ChartArea.Height - YHMin - YBMin
   End If
For N = 1 To 4
   Largeur = ZTrac.InsideWidth
   Hauteur = ZTrac.InsideHeight
   If ObjG Is Nothing Then
      Ech = Min(Largeur / dX, Hauteur / dY)
      ZTrac.Width = ZTrac.Width - Largeur + dX * Ech
      ZTrac.Height = ZTrac.Height - Hauteur + dY * Ech
   Else
      Ech = Sqr((Largeur * Hauteur) / (dX * dY))
      ObjG.Width = ObjG.Width - Largeur + dX * Ech
      ObjG.Height = ObjG.Height - Hauteur + dY * Ech
      End If
   Next N
End Sub
 

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87