Solution pour afficher/masquer un graphique

Salut à tous,

J'espère que vous vous portez bien! J'ai trouvé beaucoup de solutions grâce à vous dans le cadre de la construction d'un "cockpit" sous Excel et pour ça, je vous dis simplement merci!

Mais je n'ai pas encore fini: au fur et à mesure que j'avance, je reçois des commentaires de la part des utilisateurs de mon fameux cockpit et une des demandes concerne un graphique que je leur propose qui est en en forme de courbe en S (c'est à dire que les données se cumulent les unes aux autres, pour voir une trajectoire sur les résultats).

Mais la personne qui m'a fait la remarque m'a dit, à juste titre, que ça pourrait être utile d'avoir les données non cumulées en plus. Du coup, je me suis dit: pour un peu d'ergonomie, il faudrait que j'ajoute un petit bouton afficher le graphique avec les données non cumulées et masquer le graphique avec la courbe en S.

Mon idée est donc d'avoir une fonction qui masque le graphique courbe en S, affiche le graphique données non cumulées et la même chose dans l'autre sens (un peu comme si c'était un interrupteur), pour revenir sur le graphique courbe en S.

J'ai commencé par ça: ActiveSheet.ChartObjects(1).Visible = False mais ça ne marche pas. Est-ce que quelqu'un aurait une piste à explorer? Merci!!!!!

Bonjour,

j'ai fait le test

ActiveSheet.ChartObjects(1).Visible = False

et ça fonctionne bien

Salut,

Je suis d'accord, le code fonctionne, mais pour afficher un autre graphique dans la foulée, c'est là que je bloque.

Bonjour,

il y a plusieurs graphiques sur la feuille ?

Oui, en fait j'ai 10 graphiques qui sont des courbes en S pour lesquels je voudrais pouvoir afficher à la demande les graphiques avec les données non cumulées.

voici un exemple avec la condition: nom du graph,

sans connaitre le nom des graph, je ne peux pas faire plus,

Sub Masquer_Graph()
For Each co In ActiveSheet.ChartObjects
 If co.Name = "Chart 1" or co.Name = "Chart 2" Then
  co.Visible = False
 End If
Next
End Sub

Sub Afficher_Graph()
For Each co In ActiveSheet.ChartObjects
  co.Visible = True
Next
End Sub

Fichier joint. En fait, il faudrait qu'une même macro masque le graphique 1 pour afficher le graphique 2, et la macro qui fait l'inverse. Je vais regarder ce que tu as envoyé SabV. Merci!

131test.xlsm (18.02 Ko)

à tester,

Sub Afficher_Graph1()
ActiveSheet.ChartObjects("Graphique 1").Visible = True
ActiveSheet.ChartObjects("Graphique 2").Visible = False
End Sub

Sub Afficher_Graph2()
ActiveSheet.ChartObjects("Graphique 1").Visible = False
ActiveSheet.ChartObjects("Graphique 2").Visible = True
End Sub

à tester,

Sub Afficher_Graph1()
ActiveSheet.ChartObjects("Graphique 1").Visible = True
ActiveSheet.ChartObjects("Graphique 2").Visible = False
End Sub

Sub Afficher_Graph2()
ActiveSheet.ChartObjects("Graphique 1").Visible = False
ActiveSheet.ChartObjects("Graphique 2").Visible = True
End Sub

Il me manquait les guillemets, c'est pour ça que ça ne marchait pas. Je me disais bien aussi qu ce n'était pas normal. Merci pour la solution qui marche parfaitement. Je vais pouvoir dupliquer pour tous mes graphiques à afficher/masquer.

Rechercher des sujets similaires à "solution afficher masquer graphique"