J'essaie de faire un graphique avec deux menus déroulants (ou un tableau croisé dynamique?) afin d'obtenir un graphique dynamique en fonction de ce que je souhaite afficher.
Dans l'exemple ci-joint, je peux choisir le groupe qui m'intéresse.
Mais je souhaiterai aller plus loin. Je m'explique, je souhaiterai également pouvoir afficher le graphique dans son intégralité (avec tout les groupes et les actions en cours, clôturées et nouvelles) mais également de pouvoir choisir un groupe avec un type d'actions uniquement.
Je te propose de garder ton graphique et ta liste déroulante, mais de prendre comme données sources de ton graphique le tableau des groupes et actions.
(Plus besoin des cellules F1:J2).
Tu as donc par défaut : le graphique dans son intégralité (avec tout les groupes et les actions en cours, clôturées et nouvelles).
Puis pour n'afficher qu'1 groupe, tu vas en fait masquer tous les autres groupes ; et pour n'afficher qu'un type d'actions tu vas en fait masquer les autres types d'actions.
Tu peux essayer déjà manuellement : quand tu masques certaines lignes/colonnes entières de ton tableau de données, alors ces données n'apparaissent plus sur ton graphique.
La solution qui me paraît la plus simple pour obtenir ce que tu cherches est donc de relier ta liste déroulante "Groupes" à une macro qui afficherait/masquerait des lignes de ton tableau de données.
Par exemple pour afficher uniquement le 2ème groupe :
Merci pour ces informations.
Je comprends tout à fait le raisonnement. J'avais pensé aussi à masquer les lignes/colonnes mais je souhaitais quelque chose de plus "automatisés".
Bref, n'étant pas une douée point de vue macro, je n'arrive pas vraiment à rajouter une macro pour chaque sélection dans mon menu déroulant. ...
ça fonctionne seulement pour une seule sélection et je n'arrive pas à retrouver l'entièreté de mon tableau (sauf si j'affiche les lignes manuellement).
Merci. Oui c'est une très bonne solution aussi (je n'y avais pas pensé) .
Par contre, je souhaiterai également isoler les actions en cours, terminé et nouvelles...
Voici, j'ai repris votre fichier et simplement masquer deux colonnes pour obtenir un graphique avec seulement les actions en cours et nouvelles (par exemple) pour un seul groupe. J'aimerais que cela soit plus automatisé aussi.
Mais j'ai déjà pas mal de pistes grâce à vous et c'est très bien comme cela aussi.
J'ai inséré un contrôle ActiveX de liste déroulante, que j'ai nommé CmbActions.
Dans le code de ton onglet "GrapheDynamique" j'ai écrit :
Pour qu'à chaque activation de l'onglet, la liste déroulante soit initialisée si elle est vide :
Code:
Private Sub Worksheet_Activate()
If CmbActions.ListCount = 0 Then
CmbActions.AddItem "Toutes les actions"
CmbActions.AddItem ActiveSheet.Range("B3").Value
CmbActions.AddItem ActiveSheet.Range("C3").Value
CmbActions.AddItem ActiveSheet.Range("D3").Value
End If
End Sub
Pour qu'à chaque nouveau choix dans la liste déroulante, les colonnes soient masquées :
Code:
Private Sub CmbActions_Change()
If CmbActions.Text = "Toutes les actions" Then
ActiveSheet.Columns("B:D").Hidden = False
ElseIf CmbActions.Text = ActiveSheet.Range("B3").Value Then
ActiveSheet.Columns("B:D").Hidden = True
ActiveSheet.Columns("B:B").Hidden = False
ElseIf CmbActions.Text = ActiveSheet.Range("C3").Value Then
ActiveSheet.Columns("B:D").Hidden = True
ActiveSheet.Columns("C:C").Hidden = False
ElseIf CmbActions.Text = ActiveSheet.Range("D3").Value Then
ActiveSheet.Columns("B:D").Hidden = True
ActiveSheet.Columns("D:D").Hidden = False
Else
MsgBox "Veuillez sélectionner un type d'actions via la liste déroulante"
End If
End Sub
Merci encore à tous pour vos précieux conseils et essais.
J'ai opté pour un filtre sur les lignes et la création d'un plan sur les colonnes, ce qui me permet de jongler avec mon graphique en fonction des besoins.