comme je sèche sur ce problème, je m'en remet a vous:
en fait mon problème est le suivant: je souhaite mettre les différents occurrences du champ PivotField dans la même page.
la fonction ActiveSheet.PivotTables("tcd").ShowPages PageField := "UFSERV"
fait une chose quasi similaire car elle crée une page par occurrence. je veux toutes les occurrences dans la même page.
pas sur de ne pas être à coté de la question, mais si au moins la dernière ligne d'une colonne de ton tcd est systèmatiquement renseignée, tu peux utiliser le code ci dessous :
renvoie dans la variable i le numéro de la dernière ligne.
1/ je voudrais récupérer la valeur de l'item et la j'ai une erreur : voici la ligne que j'ai écrite
nomItem = ActiveSheet.PivotTables("tcd").PivotFields("UFSERV").PivotItems.Item(i).name
et ça me marque : impossible de lire la propriété PivotTables de la classe worksheet.
2/ je voudrais renommer les tableaux dynamiques: ils s'appelle tableaudynamique5,... et je voudrais leur donner un autre nom.
Sub test()
Dim i As PivotItem, nomItem As Variant
With Sheets(1)
For Each i In .PivotTables(1).PivotFields("UFSERV").PivotItems
nomItem = i.Value
Next i
End With
End Sub
ta 2ème question, par le code :
Code:
Sheets(1).PivotTables("tcd").Name = "toto"
sinon click droit dans le tcd => options et tu changes le nom.
je boucle bien et je crée tous les différents tableaux dans la même page au lieu qu'il soit dans les différents onglets.
mais il me reste un petit problème:
je voudrais effacer tous les tableaux créés en plus quand je change de service?
( avant la sélection la création du tableau croise)?
si je prend la fonction que tu m'as donne est-ce que ça va m'effacer tout le reste de la page ( il peux y avoir 15 tableaux après la fin du général) ?
regarde le code ci dessous, supprime toutes les feuilles si le nom es different de "Feuil1", test à adapter suivant ton appli :
Code:
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In Worksheets
If ws.Name <> "Feuil1" Then ws.Delete
Next ws
Application.DisplayAlerts = True
enfin si c'est bien cela que tu veux, pas sur à 100%
il ne me reste qu'un petit problème de l'ordre du détail mais:
quand j'ai fini ma boucle, il me fait apparaitre la fenêtre de sélection des objets avec le dernier tableau de ma feuille sélectionnée comment je peux faire pour qu'il ne m'affiche pas cette fenêtre et qu'il me place sur le premier tableau croise?
voila, j'espère que c'est ma dernière question
merci de tout l'aide que tu m'as apporté.
cordialement,
Michael