Graphique

Résolu/Fermé
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 8 juin 2018 à 12:01
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 - 19 juin 2018 à 11:25
Bonjour,

J'ai besoin d'un petit coup de main pour changer la disposition de mon graphique.
Pour faire simple je vous mets en pièce jointe une version simplifiée de mon fichier : https://cjoint.com/c/HFika5r6inV

Voici le topo : J'extrait une base de données sur le même modèle que mon exemple, je dois ensuite en faire un graphique en fonction de la lettre et de la date. Sauf que j'aimerais que sur mon graph les lignes des lettres se superposent mais dans une couleur différente au lieu de se mettre en "bout à bout"

J'aimerais savoir si c'est possible sans retravailler ma base de données ? (sinon oui il suffirait de mettre les données différemment avec une seule colonne date ect, ect mais cette solution n'est pas possible directement avec mon extraction et le "retraitement" pour le bon agencement me prendrait trop de temps)

Merci d'avance pour votre aide.
Bonne journée,

6 réponses

ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
8 juin 2018 à 14:30
Pas bien compris ce que tu attends
Une proposition
https://www.cjoint.com/c/HFimBwjLvTB

Si ça ne convient pas, envoies un exemple de résultat attendu (éventuellement tracé à la main)

Cdlmt
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
11 juin 2018 à 09:29
Bonjour,

Merci pour la proposition c'est exactement ce qu'il me fallait (et oui le nombre de lettres est variables).

Par contre peux-tu m'expliquer comment tu arrives à ce résultat ? Car moi quand je sélectionne mes données et que j'insère un graph aussi bien en nuage de point qu'en courbe, je retombe sur mon graph et non le tien.

Merci d'avance !
Bonne journée
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
Modifié le 11 juin 2018 à 10:38
Mon graphique n'était là que pour voir si j'avais compris ta demande. Il n'est pas vraiment exploitable tel que.
Pour voir ce que j'ai fait, tu cliques sur une des séries (sur le graphique), les plages associées seront sélectionnées dans le tableau de valeurs.
En fait, il y a une série de données par "lettre".
Donc tu peux faire ça "à la main" comme dans mon exemple.

Si tu veux automatiser, là c'est macro requise, et il faudra un peu plus de détails :
Q1. La colonne "lettre" est toujours triée selon la "lettre".
Q2. Le nombre de "lettre" est variable (il peut y en avoir 3 comme 10 ou ...) et peut évoluer
Q3. Les couleurs des lignes sont elles imposées.
Q4. Le nombre de lignes (dates peut être) peut évoluer
Q5. ...

Cdlmnt
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
11 juin 2018 à 14:58
C'est un peu plus complexe que ce que j'imaginais...
Du coup je transmets un fichier type pour que ce soit plus facilement compréhensible et que ce soit plus facile.

Voici donc le fichier type, j'ai apporté des commentaires / infos dessus directement : https://cjoint.com/c/HFlmSClUmMV

L'objectif est donc d'avoir un graph semblable à celui que tu m'as proposé mais pour plus de données.

Pour informations toutes les données peuvent être modifiées (l'ordre pour la Q1 par ex ou le format si besoin)

Merci d'avance pour l'aide !
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
Modifié le 11 juin 2018 à 22:54
C'est un peu plus complexe que ce que j'imaginais... et surtout que ce que tu as dit

Un exemple avec 4 séries possibles
https://www.cjoint.com/c/HFlu1TaDciB

Cdlmnt
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
12 juin 2018 à 11:34
Hello,

Effectivement, mais à la base je ne pensais pas demander de l'aide pour tout.
J'avais une idée pour "bricoler" un petit quelque chose mais je bloquais sur le graph, d'où ma demande initiale.

Par contre je ne regrette pas d'avoir demandé, ton code est simplement parfait, merci beaucoup !
C'est exactement ce qu'il me fallait, maintenant j'essaye de comprendre comment ça marche mais c'est pas évident vu l'écart entre mon niveau et le tien...

J'ai quelques petites questions si tu as encore quelques minutes à m'accorder :
1. A quoi sert le "Z" en rouge sur l'onglet graph ? Je ne comprends pas vraiment
2. A quoi sert le module 2 dans le code ?

Encore merci pour ton aide.

Bonne journée
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
12 juin 2018 à 14:53
1. A quoi sert le "Z" en rouge sur l'onglet graph ? Je ne comprends pas vraiment
Plus à rien dans la version 4
Si tu ajoutes une autre série (4 colonnes), penses à modifier la constante en début de code
Public Const nbvarmaxFG As Byte = 5
j'en ai ajouté une
et attribuer aux 4 cellules la couleur choisie pour le graphique.

2. A quoi sert le module 2 dans le code
A rien, tu peux le supprimer, c'était juste pour récupérer un peu de syntaxe.

https://www.cjoint.com/c/HFmmSFKoTdB

RQ. Les cellules VarName (colonnes D, H, L, P, T) ne peuvent pas être vidées

Cdlmnt
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
Modifié le 12 juin 2018 à 18:10
Merci pour ces infos et cette nouvelle version.

Après quelques tests, j'ai encore besoin quelques questions...
Je remets le fichier avec quelques modifs et une autre extraction de ma base de données.

J'ai ajouté une étape afin de renommer les variables avec des noms plus facilement compréhensibles, c'est pas aussi bien fait que le reste mais ça fonctionne !

Pour des facilités d'impression / présentation est-il possible d'avoir le graph sur un onglet à part ? Ou une copie du graph peu importe.
Lors de l’exécution de la macro "TranfertDicoDesVarName" certaines valeurs sont apparus en double (alors qu'elles ne sont pas en double dans la liste de base). Je n'arrive pas à comprendre à quoi c'est dû ?

Le fichier avec les modifs : https://cjoint.com/c/HFmqfhnjo5V

Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
Modifié le 12 juin 2018 à 20:48
1. Pour des facilités d'impression / présentation est-il possible d'avoir le graph sur un onglet à part ? Ou une copie du graph peu importe.
Ok tu as ton graphique dans la feuille graphique "Graph".
je l'ai déclaré dans les constantes
Public Const FZ = "Graph"
Cette feuille graphique est vue comme un objet graphique par excel donc dans la procedure MajGraph
' Set gr = .ChartObjects(1).Chart
est remplacé par
Set gr = Sheets(FZ)

2. Lors de l’exécution de la macro "TranfertDicoDesVarName" certaines valeurs sont apparus en double (alors qu'elles ne sont pas en double dans la liste de base). Je n'arrive pas à comprendre à quoi c'est dû ?
J'ai oublié de nettoyer la colonne avant le transfert

3. Je fonctionne sous un vieil excel 2003, et le convertisseur a fait grossir ton fichier à plus de 4 Mo.
Donc tu transfère les macros dans le tien (tout le contenu du Module 1)

4. Tu ne dois pas sélectionner la même VarName dans la ligne 1 de le feuille DATA 2, plantage assuré (2 séries graphiques ne peuvent pas avoir le même nom).

5. En cas de plantage, la procedure Reinit (au fond du Module 1) doit être lancée, ou bien fermer le fichier

https://cjoint.com/c/HFmsVhrNnBB

Cdlmnt
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
18 juin 2018 à 11:12
Bonjour,

Désolé pour ma réponse tardive.

Merci pour cette nouvelle version après quelques tests ce matin je pense que nous sommes sur quelque chose de très satisfaisant ! :)

Un grand merci pour ton aide et ton temps.

Bonne journée,
0
ccm81 Messages postés 10854 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 26 avril 2024 2 404
18 juin 2018 à 11:49
J'ai apporté quelques modifications
1. J'ai "simplifié" la procedure Worksheet_Change( ..) de la feuille DATA 2
2. J'ai ajouté la procedure RAZGraph() au Module 1
3. Modifié la procedure MajGraph()
4. Tu es maintenant autorisé dans la feuille DATA 2 à effacer le contenu des cellules Varname (D1, H1, L1, P1, T1), Graph1 sera mis à jour. > Dans Données/Validation la case Ignorer si vide doit être cochée.
5. J'ai optimisé l'échelle horizontale de Graph1

Il devrait y avoir moins de risque de plantage lors de l'exécution des macros
Comme indiqué précédemment, tu copies tout le code dans ton fichier
Ma remarque 4 plus haut : Tu ne dois pas sélectionner la même VarName dans la ligne 1 n'est pas fondée donc tu peux ...

https://www.cjoint.com/c/HFsjGlahWjB

Bonne journée
0
Villette54 Messages postés 300 Date d'inscription vendredi 15 mars 2013 Statut Membre Dernière intervention 31 juillet 2018 28
19 juin 2018 à 11:25
Hello,

Merci pour toutes ces optimisations. C'est sympa et ça m'aide beaucoup !
Je ne pensais absolument pas avoir quelque chose d'aussi abouti avec ma demande initiale, vraiment merci !

Bonne journée !
0