XL 2016 Pilotage TCD via Textbox dynamique

saidoush

XLDnaute Junior
Bonjour à tous,

je suis parent d'élève depuis longtemps et je souhaitais mettre en place un fichier avec un TCD qui recenserait les documents transmis par éléve.

Jusque là je me servais de segments, mais compte tenu du grand nombre d’élèves c'est... pénible.

je voudrais rentrer le nom de l'élève dans une texbox et que le tcd se filtre automatiquement sur son nom avec l'ensemble des documents remis en vert et manquant en rouge.

Merci et profitez bien de vos vacances!!!




j'ai ça comme ébauche :

pour la texbox :

Private Sub TextBox1_Change()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim searchStr As String

Set ws = ThisWorkbook.Sheets("Collège...")
Set pt = ws.PivotTables("TCDélèves")
Set pf = pt.PivotFields("Noms")

searchStr = TextBox1.Text


For Each pi In pf.PivotItems
If LCase(pi.Name) Like LCase("*" & searchStr & "*") Then
pi.Visible = True
Else
pi.Visible = False
End If
Next pi
End Sub

pour le bouton :

Sub FilterPivotTable()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim searchStr As String

Set ws = ThisWorkbook.Sheets("Collège...")
Set pt = ws.PivotTables("TCDélèves")
Set pf = pt.PivotFields("Noms")

searchStr = ws.OLEObjects("TextBox1").Object.Text


For Each pi In pf.PivotItems
If LCase(pi.Name) Like LCase("*" & searchStr & "*") Then
pi.Visible = True
Else
pi.Visible = False
End If
Next pi
End Sub
 

Pièces jointes

  • Classeur1.xlsx
    17.9 KB · Affichages: 8
Dernière édition:

saidoush

XLDnaute Junior
Bonsoir,
Une proposition à tester.
Cordialement.
bonsoir,

vraiment top.
je veux quand même comprendre :
-à partir des données de base tu fais une première requête Power query dans laquelle tu fusionnes les colonnes Nom et prénom, tu obtiens une liste_élèves[Noms-Prénoms], puis une autre requête Data pour les éléments recherchés "cotisations...", par contre la 3ème?? pour la zone de recherche TdB$B$2 peut être...

-par contre les formules decaler imbriqué pfff je ne maitrise pas...

en tant qu'amateur, je trouve ça génial!!!
Merci.
 
Dernière édition:

saidoush

XLDnaute Junior
Bonsoir,

La troisième est le résultat du choix de la liste déroulante en B2 de l'onglet TdB, elle permet de filtrer la requête Data pour obtenir les éléments voulus.
Cordialement
Hey!!! bonjour,

j'ai tenté de refaire ton petit projet mais je bloque à cette même 3ème...

Faut il que j'appelle une nouvelle requête à partir de quoi ? la cellule TdB$B$2 n'est pas un tableau...
je bloque...


(j'ai réussi entre temps)
j'ai créé f_Eleve dans le gestionnaire de nom =DECALER(p_Eleve;0;0;NBVAL(l_Eleve);1)
mais rien...
il faut l'affecter à une cellule??

Merci
 

Pièces jointes

  • Classeur1.xlsm
    29.7 KB · Affichages: 2
Dernière édition:

saidoush

XLDnaute Junior
re,
Si j'ai bien compris, une version PQ.
Cordialement
Goube,
Je te remercie infiniment pour ton implication, c'est exactement ce que je recherche comme procédure. Mais il me manque la finalité, celle du TCD pour que la ligne qui est filtrée soit la référence d'un tableau de bord qui évolue en fonction de la personne filtrée. C'est ce que je veux faire en tout cas.

Merciiiiii
 

Discussions similaires

Réponses
2
Affichages
634

Statistiques des forums

Discussions
314 841
Messages
2 113 481
Membres
111 877
dernier inscrit
thierry@1965