Graphique à série variable

Bonjour tout le monde

Après plusieurs jours de test et des recherche sur des forum pour trouver une solution je me tourne vers vous pour demander votre aide.

Je désire réaliser un graphique avec plusieurs courbes où chaque courbe serai associer avec un bouton où il me suffirai de cliquer dessus pour la faire apparaitre et un autre bouton qui me servirai a faire disparaitre toute les courbe en même temps affin de pouvoir comparer que certaine courbe entre elle et pas toujours dans le même ordre. J'ai déjà réussit a faire un début de macro que je vous met en pièce jointe.

Ça semble fonctionner. Le problème c'est que je suis toujours obligé de cliquer dans le même ordre les boutons d'action (A1, A2, A3 ..) et si je change cette ordre j'ai un message d'erreur 1004 et sa me décale toute mes séries or mon but et de pouvoir comparer facilement une centaine de courbe entre elle.

Je vous remercie d'avance pour votre aide.

27test-macro-2.xlsm (18.99 Ko)

Bonjour

Une solution plus souple existe. En effet, les données masquées ne sont plus affichées dans les graphiques.

A chaque Ellipse est affectée la même macro

Les ellipses doivent êtres numérotées de 1 à x de façon chronologique;

Dans ce code, l' Ellipse 1 correspond avec la première ligne de données

Sub Affiche_Masque()
Dim s As Shape, x As String, y As Byte
For Each s In Worksheets(1).Shapes
    s.Fill.ForeColor.SchemeColor = 57
Next s
x = Mid(Application.Caller, 9)
y = (x + 3)
'MsgBox y 'Pour tester le No de Shape
Worksheets(1).Shapes(Application.Caller).Fill.ForeColor.SchemeColor = 10
Rows(y).Select
If Selection.EntireRow.Hidden = False Then
Selection.EntireRow.Hidden = True
ElseIf Selection.EntireRow.Hidden = True Then
Selection.EntireRow.Hidden = False
End If
End Sub

J'ai laissé les lignes de code colorant en rouge la dernière ellipse sollicitée, tu l'enlèves si inutile.

Pour afficher ou masquer Tout

Sub Masquer_Tout()
Range("A4", [A4].End(xlDown)).Select
If Selection.EntireRow.Hidden = False Then
Selection.EntireRow.Hidden = True
ElseIf Selection.EntireRow.Hidden = True Then
Selection.EntireRow.Hidden = False
Range("A3").Select
End If
End Sub

Si c'est masqué, tout s'affiche, sinon tout se masque.

Cordialement

34test-macro-2.xlsm (20.16 Ko)
Rechercher des sujets similaires à "graphique serie variable"