Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

abscisses/ordonnées de graphes auto

  • Initiateur de la discussion Hervé
  • Date de début
H

Hervé

Guest
hoy, hoy tout le monde,

question de mise en forme de graphe par code vba, voici ce que j'ai


ActiveChart.Axes(xlValue).Select

With ActiveChart.Axes(xlValue)
.MinimumScale = 0
.MaximumScale = 600
End with



jusque là ca va, mais j'aimerai lui dire que en valeur maximum, il doit mettre la valeur max de la plage + 50 (en gros faudrait que ca devienne variable)

ca c'est pour les ordonnées



pour les abscisses, faudrait que ca soit variable aussi, mais la valeur max devrait etre le nombre de cellules de la plage.

un truc dans le genre

.MaximumScale = max(plage_de_donnée)

est-ce que quelqu'un aurait une idée du code à y mettre (j'ai essayé en enregistrant des formules, mais ca merdoie, je pense qu'un code simple doit exister, mais je le connais pas...)?


merci d'avance si vous vous penchez sur mon problème...
mais restez prudents pour vos fesses inch:

Hervé.
 

Creepy

XLDnaute Accro
Hello,

Voici un bout de code de la fonction IIF

A adapter selon tes besoin avec une boucle pour tester chaque valeur de ta selection

Nombre_Sorti = IIF(Nombre_Entre < Nombre_Maximum, Nombre_Entre, Nombre_maximum)

Pour minimum (une copy pas identique)

Nombre_Sorti = IIF(Nombre_Entre > Nombre_Minimum, Nombre_Entre, Nombre_Minimum)

Voila

++

Creepy
 
H

Hervé

Guest
bonjour creepy, le forum,

je dois m'excuser, mais je ne comprends pas ce qu'est ton code...

c'est du vb? de la formule?

tu vois comment je peux l'intégrer au

.MaximumScale = ?


merci beaucoup...


Hervé.
 
S

Sébbb

Guest
Bonjour Hervé, Creepy

Pour tes ordonnées, je te conseilles de le faire en deux étapes.

Tout d'abord, dans une cellule de ta feuille mets : =max('Plage de données')+50

Ensuite,
Dans ton code, tu mets
.MaximumScale = Range('cellule précédente')

Pour ton abcisse, je verrai bien la même chose avec une cellule o&ugrave; tu calculerai le nombre de cellule de ta plage (=nbval ou quelque chose de ce genre)

A +

Sébbb
 
H

Hervé

Guest
Victoire!
alors voilà ce que j'utilise finalement

-en ordonnée, j'arrondis au multiple de 100 supérieur au max de ma plage, ca donne:



.MaximumScale = Application.WorksheetFunction.Ceiling(Application.WorksheetFunction.Max(Range('plage_de_données')), 100)

c'est long et y doit y avoir plus simple, mais ca marche...

-en abscisse, j'utilise:

.MaximumScale = Range('plage_d_abscisse').Columns.Count


j'aurais du y penser plus tot...

Avec tout ca je crois que je vais m'ouvrir un cpte avec le nombre de message que je commence à laisser...
tu avais raison thierry, on se prend au jeu...


merci à tous

Hervé, poiling in elsass
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…