Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

TCD et Macro

4 réponses
Avatar
rthompson
Bonjour à toutes et tous

Je bloque sur une macro pour faire la mise à jour de plusieurs TCD

La macro ci-dessous fonctionne impeccablement

MAIS

Ce que je cherche à faire est ceci
J'aurais en finale quatre TCD côte à côte et je voudrais pouvoir choisir un
PivotItems pour tous

Une petite liste "Dropdown" et une cellule nommée "TCD_Revendeur_Choisi"

Et je voudrais que tous mes TCD soient mis a jour

Pour le faire avec des pages oas de souci (Merci Gaettan)
Mais est-il possible de décocher tous les items et de sélectionner celui qui
est choisi par une liste unique?

D'avance merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub TCD_100_Choisir_Revendeur()

With ActiveSheet.PivotTables("PivotTable3").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

4 réponses

Avatar
Daniel.C
Bonjour.
Si la liste déroulante est en D1 :

Sub TCD_100_Choisir_Revendeur()
Dim pi As PivotItem
With ActiveSheet.PivotTables(1).PivotFields("Reseller")
.PivotItems([D1].Value).Visible = True
For Each pi In .PivotItems
If pi.Name <> [D1] Then
pi.Visible = False
End If
Next pi
End With
End Sub

Cordialement.
Daniel

Bonjour à toutes et tous

Je bloque sur une macro pour faire la mise à jour de plusieurs TCD

La macro ci-dessous fonctionne impeccablement

MAIS

Ce que je cherche à faire est ceci
J'aurais en finale quatre TCD côte à côte et je voudrais pouvoir choisir un
PivotItems pour tous

Une petite liste "Dropdown" et une cellule nommée "TCD_Revendeur_Choisi"

Et je voudrais que tous mes TCD soient mis a jour

Pour le faire avec des pages oas de souci (Merci Gaettan)
Mais est-il possible de décocher tous les items et de sélectionner celui qui
est choisi par une liste unique?

D'avance merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub TCD_100_Choisir_Revendeur()

With ActiveSheet.PivotTables("PivotTable3").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


Avatar
MichDenis
Un copier-coller d'un message émis le 27/04/09

Cette solution demandait à ce que chaque TDC ait un champ "Page"
qui soit le même.

*****************************************************
Bonjour RThompson,

Utilise un combobox issu de la barre d'outils Contrôle
pour afficher toutes les valeurs de ce champ.

Pour remplir le combobox :

With Feuil1
.Combobox1.List = .Range("C1:C" & .Range("C65536").end(xlup).row).value
End with

Et dans le module feuille où sont les pivottables, tu utilises
quelque chose comme ceci pour l'événement du combobox

'-----------------------------------------
Private Sub ComboBox1_Change()

With Feuil1
With .PivotTables("SonNom_A")
.PivotFields("NomDuChamp_A").CurrentPage = Me.ComboBox1.Value
End With
With PivotTable("SonNom_B")
.PivotFields("NomDuChamp_B").CurrentPage = Me.ComboBox1.Value
End With
End With
End Sub
'-----------------------------------------

Conclusion : à chaque fois que tu modifies le combobox, les 2 champs page
des 2 TDC montrent les données pour le même item du champ.

*****************************************************




"rthompson" a écrit dans le message de groupe de
discussion :
Bonjour à toutes et tous

Je bloque sur une macro pour faire la mise à jour de plusieurs TCD

La macro ci-dessous fonctionne impeccablement

MAIS

Ce que je cherche à faire est ceci
J'aurais en finale quatre TCD côte à côte et je voudrais pouvoir choisir un
PivotItems pour tous

Une petite liste "Dropdown" et une cellule nommée "TCD_Revendeur_Choisi"

Et je voudrais que tous mes TCD soient mis a jour

Pour le faire avec des pages oas de souci (Merci Gaettan)
Mais est-il possible de décocher tous les items et de sélectionner celui qui
est choisi par une liste unique?

D'avance merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub TCD_100_Choisir_Revendeur()

With ActiveSheet.PivotTables("PivotTable3").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Avatar
rthompson
Bonjour Daniel

Décidément j'ai encore beaucoup à apprendre


Un grand merci à toi

Rex

PS
J'oubliais cela fonctionne impeccablement
Et j'ai adapté ta macro pour mettre à jour tous mes TCD d'un clic

Que du bonheur ;-))))))



"Daniel.C" a écrit dans le message de news:
%
Bonjour.
Si la liste déroulante est en D1 :

Sub TCD_100_Choisir_Revendeur()
Dim pi As PivotItem
With ActiveSheet.PivotTables(1).PivotFields("Reseller")
.PivotItems([D1].Value).Visible = True
For Each pi In .PivotItems
If pi.Name <> [D1] Then
pi.Visible = False
End If
Next pi
End With
End Sub

Cordialement.
Daniel

Bonjour à toutes et tous

Je bloque sur une macro pour faire la mise à jour de plusieurs TCD

La macro ci-dessous fonctionne impeccablement

MAIS

Ce que je cherche à faire est ceci
J'aurais en finale quatre TCD côte à côte et je voudrais pouvoir choisir
un PivotItems pour tous

Une petite liste "Dropdown" et une cellule nommée "TCD_Revendeur_Choisi"

Et je voudrais que tous mes TCD soient mis a jour

Pour le faire avec des pages oas de souci (Merci Gaettan)
Mais est-il possible de décocher tous les items et de sélectionner celui
qui est choisi par une liste unique?

D'avance merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub TCD_100_Choisir_Revendeur()

With ActiveSheet.PivotTables("PivotTable3").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx






Avatar
rthompson
OOOUUUUPPSSSSSSSSSS

Et dire que j'ai passé une demi heure ce matin à chercher ce message sans
succès
Je savais que j'avais demandé quelque chose dans le même style
Mais puis j'ai été absent (méchant petit virus Belge, pas Mexicain)

La honte est sur moi comme les abeilles sur un pot de miel


Merci

A très bientôt

Rex





"MichDenis" a écrit dans le message de news:
%23Waq$
Un copier-coller d'un message émis le 27/04/09

Cette solution demandait à ce que chaque TDC ait un champ "Page"
qui soit le même.

*****************************************************
Bonjour RThompson,

Utilise un combobox issu de la barre d'outils Contrôle
pour afficher toutes les valeurs de ce champ.

Pour remplir le combobox :

With Feuil1
.Combobox1.List = .Range("C1:C" & .Range("C65536").end(xlup).row).value
End with

Et dans le module feuille où sont les pivottables, tu utilises
quelque chose comme ceci pour l'événement du combobox

'-----------------------------------------
Private Sub ComboBox1_Change()

With Feuil1
With .PivotTables("SonNom_A")
.PivotFields("NomDuChamp_A").CurrentPage = Me.ComboBox1.Value
End With
With PivotTable("SonNom_B")
.PivotFields("NomDuChamp_B").CurrentPage = Me.ComboBox1.Value
End With
End With
End Sub
'-----------------------------------------

Conclusion : à chaque fois que tu modifies le combobox, les 2 champs page
des 2 TDC montrent les données pour le même item du champ.

*****************************************************




"rthompson" a écrit dans le message de
groupe de
discussion :
Bonjour à toutes et tous

Je bloque sur une macro pour faire la mise à jour de plusieurs TCD

La macro ci-dessous fonctionne impeccablement

MAIS

Ce que je cherche à faire est ceci
J'aurais en finale quatre TCD côte à côte et je voudrais pouvoir choisir
un
PivotItems pour tous

Une petite liste "Dropdown" et une cellule nommée "TCD_Revendeur_Choisi"

Et je voudrais que tous mes TCD soient mis a jour

Pour le faire avec des pages oas de souci (Merci Gaettan)
Mais est-il possible de décocher tous les items et de sélectionner celui
qui
est choisi par une liste unique?

D'avance merci

Rex

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Sub TCD_100_Choisir_Revendeur()

With ActiveSheet.PivotTables("PivotTable3").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
With ActiveSheet.PivotTables("PivotTable2").PivotFields("Reseller")
.PivotItems("0").Visible = False
.PivotItems("AVI Belgium").Visible = False
.PivotItems("Documents Solution").Visible = False
.PivotItems("Inloc").Visible = False
.PivotItems("Jouenbois").Visible = False
.PivotItems("(blank)").Visible = False
.PivotItems("(ESI)").Visible = True
End With
End Sub
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx