Echelle d'un graphique

Bonjour,

J'aimerai ajuster l'échelle de l'axe des ordonnées de mon graphique par rapport à une valeur d'un tableau qui peut varier. Y a t il un moyen pour faire cela?

En vous remerciant d'avance,

2 réponses

  1. Bonjour

    Doit être possible via une macro
    Pour cela il faut connaitre la structure exacte de ton fichier et selon quelle valeur faire varier l'échelle

    Postes un exemple de ton fichier sur cjoint.com , fais créer un lien, copies-le et reviens l'indiquer ici, en précisant la valeur affectant l'échelle

    Cdlmnt
    Via

    0
    1. Voici le fichier: https://www.cjoint.com/c/EIkpjw5mHCm
      La "T°Ac.Prop" est la même sur toute la colonne et est en fait une moyenne de valeurs que je n'ai pas mises dans le fichier. C'est cette valeur qui est susceptible de changer selon les profils de mes échantillons.
      L'objectif est par exemple que, si ma moyenne est de 20°C alors mon échelle va de 15 à 30 °C (delta=15). Si ma moyenne passe à 23°C j'aimerai que mon échelle se réajuste par rapport au delta, c'est à dire dans ce cas une échelle entre 18 et 33°C.

      Cordialement,
      0
    2. @SymphonieBlueSi je comprend bien le mini est la valeur moyenne -5, le maxi la valeur moyenne +10
      Donc :
      http://www.cjoint.com/c/EIkpNvbxiFZ
      Le changement de la moyenne en B2 fait varier la cellule E2 (arrondi) , cette variation lance la macro qui rectifie l'échelle

      Cdlmnt
      Via
      0
    3. Je vous remercie. C'est tout à fait ce que je recherchais.
      Est-il possible d'avoir la signification de chacune des lignes du macros pour comprendre la procédure, s'il vous plait?

      En vous remerciant d'avance;
      0
    4. @SymphonieBluePas de problème, je pensais qu'elle était simple à comprendre :
      Sub EchelleY()
      ' activation du graphique
      ActiveSheet.ChartObjects(1).Activate
      ' avec l'axe des Y
      With ActiveChart.Axes(xlValue)
      ' minimum de l'echelle = valeur en cellule E2 -5
      .MinimumScale = Range("E2") - 5
      ' maximum de l'echelle = valeur en cellule E2 +10
      .MaximumScale = Range("E2") + 10
      ' pas de l'echelle
      .MajorUnit = 1
      End With
      ' on se positionne en A1
      Range("A1").Activate
      End Sub


      Cdlmnt
      Via
      0
    5. Merci
      0
  2. Bonjour

    Un exemple avec une petite macro
    http://www.cjoint.com/c/EIkpYa5TiY4

    Salut à via55 au passage

    Cordialement
    0