J'ai environ 9 feuilles différentes, mais ils auront tous 4 types de graphiques (totaux, comparaison, bydate, tendance). J'écris VBA pour montrer conditionnellement un type de graphique sur chaque feuille. Par exemple, si je veux afficher les graphiques des totaux, je souhaite mettre à jour toutes les feuilles du classeur. Je peux déjà rendre les graphiques invisibles et visibles sur une seule feuille, mais je voudrais le faire sur toutes les feuilles. Voici mon code maintenant:VBA définir des graphiques sur plusieurs feuilles invisibles Excel
Sub UpdateGraph()
Sheets(".graphManager").ChartObjects("Totals").Visible = False
End Sub
Je veux être en mesure de le faire sur toutes les feuilles alors j'ai essayé quelque chose comme ceci:
Sub UpdateGraph()
Dim ws As Worksheet
For Each ws In Sheets
If ws.Visible Then ws.Select (False)
ActiveWorksheet.ChartObjects("Totals").Visible = False
Next
End Sub
Mais pas de chance. Je ne veux pas taper manuellement tous les noms de feuille dans un tableau parce que je peux ajouter plus de feuilles dans le futur et ne veux pas continuer à changer le code. Comment puis-je faire défiler toutes les feuilles et définir un graphique nommé "Totaux" comme invisible? Ou puis-je simplement définir tous les graphiques du classeur nommés "Totaux" comme invisibles sans boucler les feuilles? Merci!
Excellent! J'ai trouvé une solution similaire par moi-même, mais la tienne était encore meilleure. –
pourquoi 'ws.ChartObjects (co.Name) .Visible = False' et pas simplement' co.Visible = False'? Sinon, droit au but. –
Eh, je n'y ai pas pensé car je donnais un exemple. La façon dont je l'ai fait est cohérente avec la façon dont j'ai retourné l'autre graphique, alors je me suis contenté de le faire. – techturtle