Afficher sur un graphe par macro des données issuues d'une plage variable venant d'une autre feuille

Psykup74

XLDnaute Nouveau
Bonjour à tous

Je bute sur un probleme, je souhaiterai afficher sur un graphe des données que je vais chercher sur une plage variable venant d'une autre feuille.
Vous trouverez ci-joint un fichier exemple.
Dans le fichier ci-joint, je veux tracer sur le graphique se trouvant dans l'onglet simulation une courbe XY:
Avec comme X la colonne A de 141 à 141+ variable (dans l'exemple 30).
Avec comme Y la colonne variable (dans l'exemple la colonne T) de 141 à 141+variable.
Les données se trouvant dans l'onglet Charge CDP

Le tout sur une echelle de temps pris sur l'onglet Projets Actuels (mais ça ca marche)

Merci de votre aide
 

Pièces jointes

  • exemple graph excell.xlsm
    43.3 KB · Affichages: 19

Psykup74

XLDnaute Nouveau
Bonjour à tous

Je bute sur un probleme, je souhaiterai afficher sur un graphe des données que je vais chercher sur une plage variable venant d'une autre feuille.
Vous trouverez ci-joint un fichier exemple.
Dans le fichier ci-joint, je veux tracer sur le graphique se trouvant dans l'onglet simulation une courbe XY:
Avec comme X la colonne A de 141 à 141+ variable (dans l'exemple 30).
Avec comme Y la colonne variable (dans l'exemple la colonne T) de 141 à 141+variable.
Les données se trouvant dans l'onglet Charge CDP

Le tout sur une echelle de temps pris sur l'onglet Projets Actuels (mais ça ca marche)

Merci de votre aide


Un petit up. Personne n'aurait une solution.
J'ai réussi à le faire marcher en copiant collant les données sur la feuille du graphe mais ca fait doublon et je ne trouve pas ça trés proper.
 

job75

XLDnaute Barbatruc
Bonjour Psykup74, bienvenue sur XLD,

Pourquoi du VBA ? Il suffit de définir par formules les plages X et Y des abscisses et des ordonnées :
Code:
X =DECALER('Charge CDP'!$A$140;EQUIV('Projets Actuels'!$B$27;P);;EQUIV('Projets Actuels'!$B$28;P)-EQUIV('Projets Actuels'!$B$27;P)+1)

Y =DECALER('Charge CDP'!$T$140;EQUIV('Projets Actuels'!$B$27;P);;EQUIV('Projets Actuels'!$B$28;P)-EQUIV('Projets Actuels'!$B$27;P)+1)
Le nom P étant défini par =DECALER('Charge CDP'!$A$140;1;;10000)

Fichier joint.

A+
 

Pièces jointes

  • exemple graph excell(1).xlsm
    47.4 KB · Affichages: 18

Psykup74

XLDnaute Nouveau
Bonjour
Merci de votre réponse.
Je suis pas sur d'avoir tous compris mais ça fait en effet ce que je souhaite.
Par contre, faut bien avoir conscience que le Y doit etre variable.
Dans ton exemple, on ira toujours chercher la colonne T?
De plus je suis amener à tracer beaucoup de série sur ce graphe (avec des données venant de multiple onglet différend).
Ceci risque de me surcharger la page simulation avec les formules de type Y.

A première vue, je prefererai rester sur mes macros pour que tous soit transparent
 

job75

XLDnaute Barbatruc
Bonjour Psykup74,

Oui je pense que vous n'avez pas compris comment sont utilisés les noms définis X et Y.

Sélectionnez le graphique de l'onglet "Simulation" => CRÉATION => Sélectionner des données.

Cliquez sur CDP puis Modifier et voyez les formules définissant les abscisses et ordonnées :
Code:
='exemple graph excell(1).xlsm'!X
='exemple graph excell(1).xlsm'!Y
S'il y a plusieurs séries vous créerez les noms définis _X1 et _Y1 pour Série1, _X2 et _Y2 pour Série2 etc...

Le VBA n'apporterait rien de plus.

A+
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T