Création des graphiques

Résolu/Fermé
Nink - 8 mai 2015 à 16:39
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 - 11 mai 2015 à 19:01
Bonjour Chers tous,
S'il vous plait j'aimerais connaitre les lignes de code qui permettent de sélectionner un certains nombre de données (par exemple 140000 lignes) et de tracer un graphique. En effet, mon tableau contient environ 1.000.000 de données et j'aimerais que ma macro sélectionne 140 000 données, trace la ligne de point, sélection les 140 000 points suivants, trace une autre courbe en dessous de la première, etc...
je ne connais même pas les bases de la programmations VBA donc s'il vous plait si vous avez des sites ou des cours qui pourraient m'aider à apprendre très rapidement, je vous serais gré de me les donner.
Je vous remercie d'avance.
A voir également:

3 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 mai 2015 à 08:17
bonjor,
pour débuter en vba tu as
https://excel.developpez.com/cours/?page=prog
très complet mais ça ne se lit pas comme un roman policier

mais il faut aussi cerner le problème avant d'écrire des lignes de code
Ici tu as peut-^tre 2 procédures imbriquées: 140000 par 140000 lignes
et une "routine" qui est la construction du graphique par blocs de N lignes
l'avantage de la routine peut reservir pour la construction d'un graphique ---> "ne pas réinventer l'eau tiède"
on ne dit pas "routine", les puristes trouvent çà presque argotique mais plut^t "bibliothèque" , na!
0
Ninkal Messages postés 6 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 13 mai 2015
11 mai 2015 à 09:30
Merci michel_m pour le site ça me sera très utile. Je vais tout dabord y faire mes premiers pas et je reviens vers toi si besoin y est
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 9/05/2015 à 16:02
Bonjour

Autre option (salut Michel) : faire un beau graphique modèle et le recopier en changeant les plages de données
https://www.cjoint.com/?3EjqgZocjoB

RQ. Je ne sais pas si excel >= 2007 acceptera de faire un graphique avec 140 000 points

Cdlmnt
0
Ninkal Messages postés 6 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 13 mai 2015
11 mai 2015 à 09:32
Bonjour cc,
J'ai exécuté ta macro et cela fonctionne exactement comme je voudrais. Je vais essayer de comprendre et d'adapter en fonction de mon cahier de charges et je reviens vers pour des informations supplémentaires en cas de besoin.
Merci beaucoup
0
Ninkal Messages postés 6 Date d'inscription lundi 11 mai 2015 Statut Membre Dernière intervention 13 mai 2015
11 mai 2015 à 16:52
je reviens vers toi. J'ai essayé de comprendre ce que tu as fais afin de pouvoir l'adapter à mon problème. Mais cela ne fonctionne pas. Je suppose que j'ai alors pas très bien compris.
J'ai donc essayé de faire la mienne. je parviens déjà à faire mon premier graphe. j'aimerais donc continuer en faisant la boucle comme ce que tu as fait et à aligner mes graphes mais je n'y parviens pas.
mon code est le suivant:
Sub Macro1()

' Macro1 Macro
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatter

With ActiveChart.SeriesCollection.NewSeries
.Name = "=Feuil1!$D$1"
.XValues = "=Feuil1!$B$3:$B$140000"
.Values = "=Feuil1!$D$3:$D$140000"
End With
End Sub ()

est ce que vous pourrez m'aider s'il vous plait. je tiens à signaler que je travaille avec un excel 2013 donc ça peut faire un graphique de plus de 140000 points.
merci
0
ccm81 Messages postés 10851 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 16 avril 2024 2 404
Modifié par ccm81 le 11/05/2015 à 19:08
Pourquoi charger la macro de créer le graphique-modèle. Il te faut alors programmer toute la mise en forme de celui-ci (motifs, traits, couleurs diverses, polices, axes, quadrillages, etc ...)
Pour aller au plus simple
1. Tu crées ton "graphique modèle" à la main (une dizaine de lignes de données suffisent) et tu peaufines sa mise en forme
2. Tu copies tout mon code. dans le module de la feuille
3. Tu modifies les valeurs des constantes
Const FS = "nom_de_ta_feuille"
Const coX = "B"
Const coY = "D"
Const lideb = 3
Const nbli = 140000 ' nombre de lignes des plages de données
Const sep = 5 ' nb pixels - separation verticale des graphiques tu peux augmenter ou diminuer
4. Supprimer ou modifier la ligne chargée du titre (à toi de voir)
.ChartObjects(nugr).Chart.ChartTitle.Text = "Graph " & nugr
5. Tu lances l'exécution de la macro KopieGraph

RQ. Si tu tiens à tout prix à créer ton graphique-modèle par macro, fais le dans une macro séparée puis exécutes KopieGraph (division du travail)

Bon courage
0