J’ai trouvé ma réponse si jamais quelqu’un est intéressé:
j’ai un bouton aligné avec la tâche. Elle doit être très précisément alignée car le script va lire le topleftcell du bouton.
‘définir la ligne du bouton
Dim b As Object, cs As Integer
Set b = ActiveSheet.Buttons(Application.Caller)
With b.TopLeftCell
cs = .row
End With
‘ définir la cellule où retracer la ligne de la tâche
LigneA = Cells(cs, 9)
‘inscrire à la ligne de la tâche le nom de l’utilisateur
Worksheets(“DATA”).Range(“F” & LigneA).Value = Environ(“Username”)
Dim pt As PivotTable
Set pt = ActiveSheet.PivotTables(“Pivot1”)
pt.RefreshTable
Je vais donc inscrire dans ma table source le nom de l’utilisateur à la bonne ligne et rafraîchi le TCD. Petit détail, pour savoir à quel ligne écrire, il faut définir où dans ma source se situe la ligne. Pour ce faire:
Dans des colonnes masquées, je recrée le TCD avec un =A5 tout bête, je concatène les valeurs pour me faire une clé. Dans ma source, je me fais la même clé. Dans mes colonnes masquées je récupère la ligne de ma clé avec un EQUIV tout bête. Dans mon fichier example, EQUIV ne retrouvait pas mais recherchev oui, donc j’ai pris le long chemin…
Il ne reste plus qu’à formater pour faire disparaître les boutons inutiles pour certains clients qui ont moins de sections/tâches.
bonne journée
Simon