Ajouter des courbes à un graphique à l'aide d'une plage définie

Wishguu

XLDnaute Nouveau
Bonjour,

J'ai testé de définir à la main la plage de mon graphique avec une range dynamique nommée "Tableau1" (c'est un tableau).
Cela fonctionne, sauf que lorsque je ferme mon classeur et le réouvre, le graphique perd son dynamisme.
(Il garde juste en mémoire la dernière range) et j'ai donc des erreurs quand je mets à jour le tableau.

Ce que je souhaite faire est donc de retracer le graphique définit par la range "Tableau1" à l'aide d'une macro.

Code:
'Dim Graph1 As Worksheet
'Dim Data1 As Worksheet

'Set Graph1 = Worksheets("Ccat1")
'Set Data1 = Worksheets("Cat1")
'Set Sim = Worksheets("Simu")

'Graph1.ChartObjects("Graphique 1").Activate
'With ActiveChart
'Do Until .SeriesCollection.Count = 0
'       .SeriesCollection(1).Delete
'Loop
'End With
 
'ActiveChart.SetSourceData Source:=Range("Tableau1")

Cependant, ce code ne fonctionne pas (dernière ligne).
Pourtant n'Est-ce pas la formulation VBA du fait de définir la plage "Tableau1" pour le graphique ?

Merci d'avance :)
 
Dernière édition:

Wishguu

XLDnaute Nouveau
Re : Ajouter des courbes à un graphique à l'aide d'une plage définie

Je vois que mon problème est peut-être incomplet.

Je joins donc un exemple afin que vous voyiez ce dont je parle.

Le tableau représente ce que je souhaite obtenir.
Il est pour le moment définit à la main avec la range "=Tableau1".
(range qui est convertie automatiquement avec des lignes/colonnes)

Je souhaite faire ce graphique à l'identique avec une macro (écrite ci dessus)

Merci !
 

Pièces jointes

  • Test12.xlsx
    227.9 KB · Affichages: 37

Modeste geedee

XLDnaute Barbatruc
Re : Ajouter des courbes à un graphique à l'aide d'une plage définie

Bonsour®
le nom défini [TABLEAU1], ne correspond pas tout a fait aux données nécessaires, en ce sens qu'il ne comporte pas la ligne d'entetes
[Tableau1]='Cat1'!$A$2:$OM$39

il est préférable de nommer différemment, explicitement et dynamiquement la plage souhaitée :
DonneesGraphe =DECALER('Cat1'!$A$1;0;0;NBVAL('Cat1'!$A:$A);NBVAL('Cat1'!$1:$1))

puis
Capture.JPG

ensuite
ActiveChart.SetSourceData Source:=Range("DonneesGraphe")
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    42.7 KB · Affichages: 37
  • Capture.JPG
    Capture.JPG
    42.7 KB · Affichages: 34

Wishguu

XLDnaute Nouveau
Re : Ajouter des courbes à un graphique à l'aide d'une plage définie

Bonjour,

Merci pour cette formulation qui est plus explicite
(à vrai dire, du fait que la zone est définie par un tableau à entête, la ligne d'entête était prise en compte)

En revanche, en macro ça ne fonctionne toujours pas.
"le nombre maximal de séries de données par graphique est de 255"

J'ai gardé votre formulation (avec l'espace en moins après NBVAL qui m'a bien galéré :D)
 

Modeste geedee

XLDnaute Barbatruc
Re : Ajouter des courbes à un graphique à l'aide d'une plage définie

Bonsour®
En revanche, en macro ça ne fonctionne toujours pas.
"le nombre maximal de séries de données par graphique est de 255"
Hélas c'est une limitation qui est incontournable ... :(

envisager de créer 2 graphes séparés
ou bien par macro redéfinir interactivement la plage adéquates
J'ai gardé votre formulation (avec l'espace en moins après NBVAL qui m'a bien galéré :D)

c'est semble-t-il un problème récurrent lié à l'éditeur XLD
 

Wishguu

XLDnaute Nouveau
Re : Ajouter des courbes à un graphique à l'aide d'une plage définie

Il y a une trentaine de courbes à tracer.
Elles se tracent très bien de façon manuelle lorsque je définis "='Cat1'!ZoneGraph" dans la plage de données.
C'est juste avec la macro que ça me marque ce message
 

Wishguu

XLDnaute Nouveau
Re : Ajouter des courbes à un graphique à l'aide d'une plage définie

Il semblerait que la mise à jour se fasse correctement avec la plage dynamique.
Normalement le tableau correspond à une plage dynamique mais le résultat n'était pas là !

Merci, je reviendrai si mon problème ressurgit
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 459
dernier inscrit
Arnocal