Bonjour tout le monde,
Je cherche désespérément quelqu'un qui pourra me dire comment, dans excel 2007 et via vba, créer une checkbox à coches multiples qui apparaît lorsqu'on double-clique sur telle cellule et qui, une fois une ou plusieurs coches sélectionnées, alimente un filtre TCD sur une autre page.
Avec l'aide d'excel-pratique, j'ai pu créer 3 listes de choix (via validation de données) qui, avec des codes vba, alimentre les filtres d'un TCD sur un autre onglet.
Je n'arrive pas à joindre le fichier en PJ car > à 300 Ko (limite du site).
Ci-dessous donc le code vba pour alimenter les 3 filtres d'un TCD avec les sélections de 3 listes de choix.
Sub Choix_3()
' alimente le filtre "UM (libellé court)" du TCD1 de la feuille TCD avec la valeur choisie en cellule M1 de la feuille TABLEAU DE BORD
Application.ScreenUpdating = False
Sheets("TCD").PivotTables("TCD1").PivotFields("UM (libellé court)"). _
ClearAllFilters
Sheets("TCD").PivotTables("TCD1").PivotFields("UM (libellé court)"). _
CurrentPage = IIf(Sheets("TABLEAU DE BORD").Range("M1").Value = "", "(All)", Sheets("TABLEAU DE BORD").Range("M1").Value)
' alimente le filtre "Code heure (libellé)" du TCD1 de la feuille TCD avec la valeur choisie en cellule M2 de la feuille TABLEAU DE BORD
Application.ScreenUpdating = False
Sheets("TCD").PivotTables("TCD1").PivotFields("Code heure (libellé)"). _
ClearAllFilters
Sheets("TCD").PivotTables("TCD1").PivotFields("Code heure (libellé)"). _
CurrentPage = IIf(Sheets("TABLEAU DE BORD").Range("M2").Value = "", "(All)", Sheets("TABLEAU DE BORD").Range("M2").Value)
' alimente le filtre "Mois" du TCD1 de la feuille TCD avec la valeur choisie en cellule M3 de la feuille TABLEAU DE BORD
Application.ScreenUpdating = False
Sheets("TCD").PivotTables("TCD1").PivotFields("Mois"). _
ClearAllFilters
Sheets("TCD").PivotTables("TCD1").PivotFields("Mois"). _
CurrentPage = IIf(Sheets("TABLEAU DE BORD").Range("M3").Value = "", "(All)", Sheets("TABLEAU DE BORD").Range("M3").Value)
End Sub
Merci.
Erwan