Graphique Excel (mise en page variable)
Résolu/Fermé
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
-
18 janv. 2017 à 10:56
GuillaumeCha Messages postés 42 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 25 mars 2019 - 25 janv. 2017 à 03:43
GuillaumeCha Messages postés 42 Date d'inscription vendredi 19 août 2016 Statut Membre Dernière intervention 25 mars 2019 - 25 janv. 2017 à 03:43
A voir également:
- Graphique Excel (mise en page variable)
- Mise en forme conditionnelle excel - Guide
- Supprimer une page word - Guide
- Liste déroulante excel - Guide
- Graphique excel - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
8 réponses
tontong
Messages postés
2567
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
20 novembre 2024
1 059
18 janv. 2017 à 12:00
18 janv. 2017 à 12:00
Bonjour,
Il y a peut-être une solution soit en nommant les plages soit avec une macro (hors de ma compétence mais il y a d'autres bénévoles sur ce forum).
Les explications même détaillées ne suffisent pas, il faudrait joindre un fichier en utilisant Cjoint.com.
En ajoutant une feuille "les données du boss" on verrait mieux ce qui change.
Les fichiers enregistrés en .xls nous gagnent du temps.
Il y a peut-être une solution soit en nommant les plages soit avec une macro (hors de ma compétence mais il y a d'autres bénévoles sur ce forum).
Les explications même détaillées ne suffisent pas, il faudrait joindre un fichier en utilisant Cjoint.com.
En ajoutant une feuille "les données du boss" on verrait mieux ce qui change.
Les fichiers enregistrés en .xls nous gagnent du temps.
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
4
19 janv. 2017 à 08:46
19 janv. 2017 à 08:46
Bonjour Tontong,
Merci pour ta reponse.
Tu as raison pour l'excel, voici le lien:
https://www.cjoint.com/c/GAthQW2t61b
une petite explication:
les deux feuillets "exemple 1" & "exemple 2": c'est la data que mon boss va extraire de notre logiciel de gestion par lui meme.
In autre onglet s'appel "where my boss will copy data" c'est la que mon bos va copier coller in des deux exemples.
Les autres pages sont variables selon ll'exemple sauf la page "Dow Jones" qui est juste un file conducteur. Une comparaison.
Je vous laisse donc copier une fois l'exemple 1 et une autre fois l'exemple 2. vous aller voir les problemes dont je vous ai parle sur les graphiques des autres pages
Merci d'avance !
Merci pour ta reponse.
Tu as raison pour l'excel, voici le lien:
https://www.cjoint.com/c/GAthQW2t61b
une petite explication:
les deux feuillets "exemple 1" & "exemple 2": c'est la data que mon boss va extraire de notre logiciel de gestion par lui meme.
In autre onglet s'appel "where my boss will copy data" c'est la que mon bos va copier coller in des deux exemples.
Les autres pages sont variables selon ll'exemple sauf la page "Dow Jones" qui est juste un file conducteur. Une comparaison.
Je vous laisse donc copier une fois l'exemple 1 et une autre fois l'exemple 2. vous aller voir les problemes dont je vous ai parle sur les graphiques des autres pages
Merci d'avance !
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 429
19 janv. 2017 à 10:50
19 janv. 2017 à 10:50
Bonjour
Comme dit tontong plus haut (salut à toi au passage) une macro pour tenter de répondre à la question 1 (voir Feuille From 2012)
http://www.cjoint.com/c/GAtjU3TXGig
Pour la question 2, j'ai du mal à comprendre, si tu adaptes tes formules à excel 2003, je pourrai essayer, sinon quelqu'un d'autre prendra certainement le relai
Cdlmnt
Comme dit tontong plus haut (salut à toi au passage) une macro pour tenter de répondre à la question 1 (voir Feuille From 2012)
http://www.cjoint.com/c/GAtjU3TXGig
Pour la question 2, j'ai du mal à comprendre, si tu adaptes tes formules à excel 2003, je pourrai essayer, sinon quelqu'un d'autre prendra certainement le relai
Cdlmnt
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
4
19 janv. 2017 à 11:10
19 janv. 2017 à 11:10
Bonjour ccm81,
Merci beaucoup pour ta reponse et le temps que tu y a passe !
Alors j'ai utilise ta macro qui marche tres bien dans un sens mais pas dans l'autre.
Je m'explique: Quand tu rentres l'exemple 1 (la ou il y a le plus de ligne) puis tu rentres l'exemple 2 cela supprime les legende comme c'est demande dans ma requite ! Merci beaucoup.
Cependant apres avoir rentre l'exemple 2, si tu rentres a nouveau l'exemple 1 (ou un 3eme exemple) et que tu fais tourney la macro cela ne prend en compte que les lignes qu'il a garde.
En faite ta macro supprime les lignes du graphe ce qui fait qu'il ne les traite plus la fois d'apres... Or il faut qu'il les traite toujours.
En tout cas merci beaucoup c'est la bonne voie !
Pour l'exemple2 malheuresement je vois pas comment faire passer mon doc a 2003....
Bonne journee,
G.
Merci beaucoup pour ta reponse et le temps que tu y a passe !
Alors j'ai utilise ta macro qui marche tres bien dans un sens mais pas dans l'autre.
Je m'explique: Quand tu rentres l'exemple 1 (la ou il y a le plus de ligne) puis tu rentres l'exemple 2 cela supprime les legende comme c'est demande dans ma requite ! Merci beaucoup.
Cependant apres avoir rentre l'exemple 2, si tu rentres a nouveau l'exemple 1 (ou un 3eme exemple) et que tu fais tourney la macro cela ne prend en compte que les lignes qu'il a garde.
En faite ta macro supprime les lignes du graphe ce qui fait qu'il ne les traite plus la fois d'apres... Or il faut qu'il les traite toujours.
En tout cas merci beaucoup c'est la bonne voie !
Pour l'exemple2 malheuresement je vois pas comment faire passer mon doc a 2003....
Bonne journee,
G.
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 429
19 janv. 2017 à 12:45
19 janv. 2017 à 12:45
Remplaces le contenu du Module 1 par ceci
Cdlmnt
Option Explicit Const lideb = 2 Const codeb = 3 Const cogr1 = "A" Const cogr2 = "C" Public Sub MajGraph() Dim gr As Object, nbser As Long, nuser As Long, X, Y Dim lifin As Long, source As String, cofin As Long, coder As String, annees As String With ActiveSheet lifin = lideb While .Range("A" & lifin).Value <> "Total %" lifin = lifin + 1 Wend cofin = codeb While .Cells(lideb, cofin + 1) <> "" cofin = cofin + 1 Wend coder = Split(.Cells(lideb, cofin).Address, "$")(1) End With annees = cogr2 & lideb & ":" & coder & lideb source = cogr1 & lideb + 1 & ":" & cogr1 & lifin & "," & cogr2 & lideb + 1 & ":" & coder & lifin Set gr = ActiveSheet.ChartObjects(1).Chart gr.SetSourceData source:=ActiveSheet.Range(source), PlotBy:=xlRows gr.SeriesCollection(1).XValues = ActiveSheet.Range(annees) With gr nbser = .SeriesCollection.Count For nuser = nbser To 1 Step -1 Y = .SeriesCollection(nuser).Values If Y(1) = 0 Then .SeriesCollection(nuser).Delete Next nuser nbser = gr.SeriesCollection.Count .SeriesCollection(nbser).Border.ColorIndex = 3 .SeriesCollection(nbser).Border.Weight = xlThick .SeriesCollection(nbser).Border.LineStyle = xlContinuous End With End Sub
Cdlmnt
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
4
20 janv. 2017 à 03:09
20 janv. 2017 à 03:09
Bonjour ccm81,
Merci beaucoup ton aide, c'est vraiment gentils de ta part.
alors j'ai lance la macro et elle me dit quelle est buge.
Elle me specifit cette ligne:
While .Range("A" & lifin).Value <> "Total %"
-> ligne 14.
Et c'est peut etre pas le seul bug car je ne vois pas les suivant sachant que je n'arrive pas a regler le problem.
En effet, je suis debutant en VBA, et la je t avoue etre perdu, alors le debugger...
Tu peux y jeter in oeil ?
Merci beaucoup et bonne journee !
Merci beaucoup ton aide, c'est vraiment gentils de ta part.
alors j'ai lance la macro et elle me dit quelle est buge.
Elle me specifit cette ligne:
While .Range("A" & lifin).Value <> "Total %"
-> ligne 14.
Et c'est peut etre pas le seul bug car je ne vois pas les suivant sachant que je n'arrive pas a regler le problem.
En effet, je suis debutant en VBA, et la je t avoue etre perdu, alors le debugger...
Tu peux y jeter in oeil ?
Merci beaucoup et bonne journee !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 429
20 janv. 2017 à 17:32
20 janv. 2017 à 17:32
Chez moi, pas d'erreur
http://www.cjoint.com/c/GAuqEEI2Zig
Essaies sur les deux feuilles From 2013 et From 2012
Cdlmnt
http://www.cjoint.com/c/GAuqEEI2Zig
Essaies sur les deux feuilles From 2013 et From 2012
Cdlmnt
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
4
23 janv. 2017 à 03:46
23 janv. 2017 à 03:46
Bonjour CCM81
J'ai trouve le problem et pourquoi cela buggais pour moi, j'ai fait ma petite modification.
J'ai fait des test et tout marche tres bien. Je te remercie.
Cependant je suis face a deux niuveaux problemes:
1) le code marche parfaitment mais.... pas pour toute les pages ! C'est tres surpprenant mais une ou deux pages il bug sur cette ligne:
gr.SeriesCollection(1).XValues = ActiveSheet.Range(annees)
(ligne 28) alors que cale marche parfaitement avec les autres pages...
2) Je n'ai plus acces a mon graphique. Je m'explique. Je peux faire du clique droit dessus mais mon clique gauche ne selectionne plus les parties differentes du graphique. Du coup je ne peux plus decaler ma legende, changer la couleur d'une ligne particuliere...
J'ai l'impression qu'il lance la macro a chaque fois que je clique sur le graphique et donc ne selectionne pas la partie voulu.
Je te remercie d'avance pour ton aide,
G.
J'ai trouve le problem et pourquoi cela buggais pour moi, j'ai fait ma petite modification.
J'ai fait des test et tout marche tres bien. Je te remercie.
Cependant je suis face a deux niuveaux problemes:
1) le code marche parfaitment mais.... pas pour toute les pages ! C'est tres surpprenant mais une ou deux pages il bug sur cette ligne:
gr.SeriesCollection(1).XValues = ActiveSheet.Range(annees)
(ligne 28) alors que cale marche parfaitement avec les autres pages...
2) Je n'ai plus acces a mon graphique. Je m'explique. Je peux faire du clique droit dessus mais mon clique gauche ne selectionne plus les parties differentes du graphique. Du coup je ne peux plus decaler ma legende, changer la couleur d'une ligne particuliere...
J'ai l'impression qu'il lance la macro a chaque fois que je clique sur le graphique et donc ne selectionne pas la partie voulu.
Je te remercie d'avance pour ton aide,
G.
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 429
23 janv. 2017 à 11:46
23 janv. 2017 à 11:46
1. l bug sur cette ligne:
gr.SeriesCollection(1).XValues = ActiveSheet.Range(annees)
Et que vaut la chaine annees à ce moment là ?
2. Je n'ai plus acces a mon graphique.
Chez moi je peux deplacer la légende et modifier la couleur d'une ligne
J'ai l'impression qu'il lance la macro a chaque fois que je clique sur le graphique
Non, la macro est déclenchée par Ctrl+m
RQ. Dans les feuilles 2014 et 2015 tu as des colonnes de valeurs sans que l'entête année soit renseignée
Cdlmnt
gr.SeriesCollection(1).XValues = ActiveSheet.Range(annees)
Et que vaut la chaine annees à ce moment là ?
2. Je n'ai plus acces a mon graphique.
Chez moi je peux deplacer la légende et modifier la couleur d'une ligne
J'ai l'impression qu'il lance la macro a chaque fois que je clique sur le graphique
Non, la macro est déclenchée par Ctrl+m
RQ. Dans les feuilles 2014 et 2015 tu as des colonnes de valeurs sans que l'entête année soit renseignée
Cdlmnt
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
4
24 janv. 2017 à 02:59
24 janv. 2017 à 02:59
Bonjour CCM81,
Merci pour ta patience.
1. selon moi la chaine ainee est C2:Cx Mais je suis pas sur de tout capter au code.
2. Voici le lien avec des petits arrangements que j'ai pu faire et les pages qui ne marche pas.
https://www.cjoint.com/c/GAyb3IIhOub
Je n'ai pas besoin de presser ctrl+m pour faire tourner la macro, seulement cliquer sur le graphique. C'est pourquoi je pense que cela lance la macro a chaque fois etd onc que je suis bloque pour changer certaine chose sur mon graphique. J'esseye de mettre pause sur la macro mais cela ne marche pas....
RQ: En lisant ton code c'est se que je me suis dit mais j'ai eu beau chercher je n'ai pas trouver de difference avec les autres sheet ou la macro marche tres bien. Ni une entete annee... Je suis in peu dubitatif.
Je te remercie d'avance pour ton aide,
G.
Merci pour ta patience.
1. selon moi la chaine ainee est C2:Cx Mais je suis pas sur de tout capter au code.
2. Voici le lien avec des petits arrangements que j'ai pu faire et les pages qui ne marche pas.
https://www.cjoint.com/c/GAyb3IIhOub
Je n'ai pas besoin de presser ctrl+m pour faire tourner la macro, seulement cliquer sur le graphique. C'est pourquoi je pense que cela lance la macro a chaque fois etd onc que je suis bloque pour changer certaine chose sur mon graphique. J'esseye de mettre pause sur la macro mais cela ne marche pas....
RQ: En lisant ton code c'est se que je me suis dit mais j'ai eu beau chercher je n'ai pas trouver de difference avec les autres sheet ou la macro marche tres bien. Ni une entete annee... Je suis in peu dubitatif.
Je te remercie d'avance pour ton aide,
G.
ccm81
Messages postés
10905
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
27 décembre 2024
2 429
24 janv. 2017 à 14:37
24 janv. 2017 à 14:37
Ton fichier, bien qu'enregistré en .xls contient des formules non reconnues par excel 2003. Pas grave, je te le renvoie quand même.
http://www.cjoint.com/c/GAynI6rrZgg
Je n'ai pas besoin de presser ctrl+m pour faire tourner la macro, seulement cliquer sur le graphique.
Eh oui, tu as (apparemment) affecté la macro à chacun de ces graphiques
Donc clic-droit sur le graphique (dans chaque feuille)/Affecter une macro et tu supprimes ce qu'il y a dans la fenêtre "Nom de la macro"
Puis Outils/Macro/macros/ choisir MajGraph/Option et definir ton raccourci clavier (Ctrl+m par exemple)
Ensuite tu exécutes la macro (Ctrl+m) dans chacune des feuilles, tout devrait rentrer dans l'ordre (chez moi c'est OK)
RQ. Tu as une feuille (From 2013), où tu n'as pas attribué de données à ton graphique
Cdlmnt
http://www.cjoint.com/c/GAynI6rrZgg
Je n'ai pas besoin de presser ctrl+m pour faire tourner la macro, seulement cliquer sur le graphique.
Eh oui, tu as (apparemment) affecté la macro à chacun de ces graphiques
Donc clic-droit sur le graphique (dans chaque feuille)/Affecter une macro et tu supprimes ce qu'il y a dans la fenêtre "Nom de la macro"
Puis Outils/Macro/macros/ choisir MajGraph/Option et definir ton raccourci clavier (Ctrl+m par exemple)
Ensuite tu exécutes la macro (Ctrl+m) dans chacune des feuilles, tout devrait rentrer dans l'ordre (chez moi c'est OK)
RQ. Tu as une feuille (From 2013), où tu n'as pas attribué de données à ton graphique
Cdlmnt
GuillaumeCha
Messages postés
42
Date d'inscription
vendredi 19 août 2016
Statut
Membre
Dernière intervention
25 mars 2019
4
25 janv. 2017 à 03:43
25 janv. 2017 à 03:43
Absolument parfait ! Merci beaucoup !
Je te souhaite une agreeable journee, la mienne commence parfaitement !
Guillaume
Je te souhaite une agreeable journee, la mienne commence parfaitement !
Guillaume