Graphique avec nombre variable de séries de données

Kayna.86

XLDnaute Nouveau
Bonsoir à tous,

Je sollicite votre aide pour la création d'un graphique excel dont le nombre de séries de données représentées varie.
Je m'explique. Je mène un étude sur le nombre d'habitants par pays. J'ai donc une liste de pays, et pour chacun de ces pays,une liste de villes associées. Bien évidemment, le nombre de villes par pays est variable.

J'ai créé un tableau qui s'alimente en fonction du pays sélectionné dans une liste déroulante. Lorsque je sélectionne un pays, le tableau présente les données du pays en question ET des villes de ce pays.
J'ai également créé un graphique qui s'alimente à partir des données du tableau.
Le problème est que la zone de sélection des données varie en fonction du pays sélectionné.

Je souhaiterais donc trouver l'astuce qui permettrait à mon graph de s'ajuster automatiquement en fonction du nombre de lignes à prendre en compte dans mon tableau.

Je vous ai joint un exemple qui vous permettra de mieux cerner le problème, en espérant avoir été assez claire.

Merci d'avance de votre aide!


Kayna
 

Pièces jointes

  • Graph_Séries de données variable.xls
    72.5 KB · Affichages: 83

Oranger

XLDnaute Occasionnel
Re : Graphique avec nombre variable de séries de données

Bonjour,

Ces quelques éléments de code devraient t'aider. Je m'en suis servi pour faire à peu près la même chose sur une feuille graphique, donc il y a quelques adaptations à faire. En plus c'était sous 2003, donc à voir, si ça peut être utile.

Pour effacer les données d'un graphique

Graph1.Activate
If Graph1.SeriesCollection.Count <> 1 Then
For i = 1 To Graph1.SeriesCollection.Count
ActiveChart.SeriesCollection(1).Delete
Next i

code pour ajouter un code à une feuille graphique

Graph1.Activate 'on active le graphique
ActiveChart.SeriesCollection.NewSeries 'on ajoute une nouvelle série
'on indique les valeurs de la série
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).Values =??
'on indique le nom de la série
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).Name = « nom de la série »
'on définit le type de graphique comme une courbe
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).Select
ActiveChart.SeriesCollection(ActiveChart.SeriesCollection.Count).ChartType = xlLine
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Graphique avec nombre variable de séries de données

Bonsoir Kayna.86, Oranger, le Forum,

Kayna, voici ton fichier avec une macro événementielle qui met automatiquement graphique et légende à jour après modification du pays en cellule B1.

La hauteur de la légende s'adapte elle aussi automatiquement en fonction du nombre de villes.

Espérant avoir répondu.

Cordialement.

PS : je te joins le fichier au format XL2010 car perte de données de configuration en format .xls
 

Pièces jointes

  • Copie de Graph_Séries de données variable-2.xlsm
    33.2 KB · Affichages: 91
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Graphique avec nombre variable de séries de données

Bonjour Kayna, Oranger,

Voici une version plus simple encore, sans boucle donc sûrement plus rapide.

Bonne journée.

Cordialement.



PS : bonjour à toi Efgé, et merci pour ton appréciation.
 

Pièces jointes

  • Copie 01 de Graph_Séries de données variable-2.xlsm
    33.8 KB · Affichages: 118

Kayna.86

XLDnaute Nouveau
Re : Graphique avec nombre variable de séries de données

Re,

Oranger, n'étant pas très doué en VBA, il m'est difficile d'appliquer et d'adapter tes lignes de codes à ma situation. En revanche, Pa-pounet, tes lignes de codes fonctionnent parfaitement! :)

Merci Beaucoup!

Kayna
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 974
Membres
103 995
dernier inscrit
Flodk