Echelle & intervalle axe des abscisses

richert90

XLDnaute Occasionnel
Bonjour à tous,

Voici ma question

J'ai un nuage de points (fait avec VBA) avec en abscisse un format personnalisé date + heure (JJ/MM/AAAA HH:MM:SS) .

Cepedant j'ai beaucoup de données et je ne savais pas quoi faire concernant l'unité principale de l'axe c'est à dire l'echelle ou l'intervalle entre chaque mesure de l'axe.

Au début j'étais parti la dessus :

Code:
With CH.Axes(xlCategory)
        .MajorUnit = 10 'Intervalle
End With

Avec l'unité de 10, les dates étaient bien espacées, l'axe des abscisses était donc lisible.
Par contre une fois que j'ai réalisé un filtre, il ne me restait plus que 2 données sur le graphique et du coup l'axe des abscisses était illisible! (on aurait dit une bande noire...).

Du coup, j'avais remis une échelle "automatique" mais là les graphiques, sans filtres, ne sont aps très lisibles, les dates + les heures étant des unités assez longues, elles "se marchent dessus" et donc ce n'est pas très lisible aussi.


Comment je pourrai régler ce problème?
Ça me paraît impossible car il faudrait que Excel s'adapte à chaque fois en fonction des filtres, pas facile donc ..
 

richert90

XLDnaute Occasionnel
Re : Echelle & intervalle axe des abscisses

Je rouvre la discussion car j'ai essayé ta méthode:
Unité principale= (date_la_+_récente - date_la_plus_ancienne) / 10
Ça a marché au début mais quand j'ai filtré sur des valeurs, j'obtenais un axe des abscisse pas très lisible avec des dates qui se chevauchent et pourtant la date la récente et la plus ancienne étaient les même!
Donc il doit y avoir un lien avec le nombre de données (nb de lignes utilisées or le graphique) mais je sais pas comment liéer tout ça ?

Quelqu’un aurait t-il une idée?

Merci d'avance
 

Gardien de phare

XLDnaute Accro
Re : Echelle & intervalle axe des abscisses

Bonjour richert,

La gestion des échelles dans les graphiques, quand elles sont variables, avec des amplitudes très différentes, est toujours un peu casse-tête. Je n'ai jamais trouvé un algo de calcul totalement satisfaisant, et le seul que j'ai écrit, n'est pas en Vba.

Parfois, la gestion automatique par Excel est la meilleure solution, mais seulement parfois.

Tu pourrais mettre un exemple de ton nuage de point, avec des données bidons mais représentatives, en nous disant quelle serait à peu près les amplitudes maxi et mini à prendre en compte ?

Edit : bonjour Misange
 

richert90

XLDnaute Occasionnel
Re : Echelle & intervalle axe des abscisses

Oui en effet c'est pas facile.... ça a marché pas mal de fois et puis un coup hop c'est pas bon...

Concernant ton algo qui n'est pas en VBA, est-ce qu'il y moyen d'avoir juste le calcul même si celui-ci n'est pas totalement satisfaisant?

Oui d'habitude je laisse en automatique mais même avec ça j'ai eu des cas où l'axe était illisible...

Je veux bien joindre un fichier mais le problème c'est que les amplitudes peuvent être très variées. Car en fait, j'importe des fichiers sous Excel et ces fichiers contiennent les dates en question qui peuvent commencées en 2012 et finir fin 2013 ou alors elles peuvent s'étaler juste sur quelques mois voir quelques semaines..
Donc je sais pas si ça pourra beaucoup vous avancer malheureusement.
 

Gardien de phare

XLDnaute Accro
Re : Echelle & intervalle axe des abscisses

Re,
Mon algo, très honnêtement, je ne l'ai plus en mémoire de manière précise, et j'ai du mal à me connecter de là où je suis, au taf via le Vpn, donc pas sûr de pouvoir le récupérer...
L'idée de Misange est évidemment bonne, mais il faut voir comment la coder sur des dates-heures.
Si tu peux, mets un fichier qu'on essaye de faire des tests.
 

richert90

XLDnaute Occasionnel
Re : Echelle & intervalle axe des abscisses

Voici le fichier exemple joint

J'ai fais exprès de filtrer selon "article". Sur le graphique en laissant l’unité principale en automatique, on voit bien que la lisibilité de l'axe est déjà limite...
 

Pièces jointes

  • Test_echelle.xlsx
    349.1 KB · Affichages: 61

richert90

XLDnaute Occasionnel
Re : Echelle & intervalle axe des abscisses

Bonjour Efgé,
Merci pour la réponse;
En effet, c'est pas une mauvaise idée mais le problème c'est que les graphiques à la base je les génèrent avec VBA
Et quand j'enregistre une macro pour réaliser la tâche que tu me dis (pivot 270°) hé ben ça n'enregistre pas :eek:! Donc VBA ne prend pas en compte cette fonctionnalité?!
 
Dernière édition:

Misange

XLDnaute Barbatruc
Re : Echelle & intervalle axe des abscisses

Bonjour

Pourquoi crées tu ton graphique en VBA ?
Si ce sont des données importées tu ne peux pas travailler avec un tableau mais tu peux définir des noms dynamiques et les utiliser pour ton graphique de la sorte il se met à jour quand tu rafraichis tes données.

Sinon en VBA
Selection.TickLabels.Orientation = xlUpward
 

Misange

XLDnaute Barbatruc
Re : Echelle & intervalle axe des abscisses

UNE fois que tu l'as créé avec des noms dynamiques, il n'y a strictement plus rien à faire ! La mise à jour est absolument automatique, même pas besoin de cliquer sur un bouton. Je ne vois pas l'intérêt du VBA qui te limite.
 

Efgé

XLDnaute Barbatruc
Re à toutes et tous
Je plussoie aux propos de Misange, que je salut :)
.
Pour ma part, qui reste assez congrue, je n'ai jamais été amené / obligé à créer un graphique par VBA.
Peut être devrais-tu réexaminer ton projet:
Créer un "Modèle" qui comporte la structure de base du futur fichier, importer les données (soit par VBA soit par liaison), et adosser ton graphique à un tableau ou à une plage nommée dynamique...
Ensuite soit tu copie les onglets nécessaires vers un nouveau classeur soit tu masque / Supprime la feuille qui comporte le bouton et tu enregistre sous un nom différent.

Enfin, j'dis ça......

Cordialement
 

Statistiques des forums

Discussions
312 104
Messages
2 085 334
Membres
102 864
dernier inscrit
abderrashmaen