abscisses/ordonnées de graphes auto

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

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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é.
 
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
 
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é.
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
3
Affichages
2 K
demonsares
D
A
Réponses
2
Affichages
13 K
aurel0801
A
N
  • Question Question
Réponses
5
Affichages
3 K
G
Réponses
9
Affichages
9 K
Gisamark
G
P
Réponses
2
Affichages
1 K
Pineurne
P
M
Réponses
5
Affichages
10 K
N
Réponses
0
Affichages
1 K
N
Retour