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

Mise à jour d'une liste de choix dans un tableau dynamique crois é

6 réponses
Avatar
mike69
Salut,

J'ai réalisé après plusieurs essais un TDC dans lequel j'ai rentré des
données d'essais et de tests.
J'ai effacé mes données d'essais et rempli correctement mes données. Dans
mon TDC, dans les filtres des champs, il reste les anciennes valeurs de tests
qui pourtant ne sont plus présentes.
Comment faire pour les faire disparaitre ?
Merci d'avance

6 réponses

Avatar
isabelle
bonjour mike69,

Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next ws

isabelle

Salut,

J'ai réalisé après plusieurs essais un TDC dans lequel j'ai rentré des
données d'essais et de tests.
J'ai effacé mes données d'essais et rempli correctement mes données. Dans
mon TDC, dans les filtres des champs, il reste les anciennes valeurs de tests
qui pourtant ne sont plus présentes.
Comment faire pour les faire disparaitre ?
Merci d'avance


Avatar
mike69
Isabelle merci pour cette réponse rapide

N'étant pas "fluent" en VBS (je pense que c'est du Visual Basic) et ne
l'utilisant pas dans excel je ne sais pas ou le mettre dans mon document
excel, et comment utiliser ta réponse ?
Encore un peu d'aide
Merci

"isabelle" wrote:

bonjour mike69,

Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next ws

isabelle

Salut,

J'ai réalisé après plusieurs essais un TDC dans lequel j'ai rentré des
données d'essais et de tests.
J'ai effacé mes données d'essais et rempli correctement mes données. Dans
mon TDC, dans les filtres des champs, il reste les anciennes valeurs de tests
qui pourtant ne sont plus présentes.
Comment faire pour les faire disparaitre ?
Merci d'avance





Avatar
isabelle
bonjour mike69,

ouvre visual basic en appuyant sur les touches Atl+F11

sur l'arborescance à gauche tu fais un click droit sur le VBAProject(NomDeTonClasseur) et
sélectionne Insertion, Module
suite à cette action, une page blanche sera ouverte dans la fenêtre de droite,
c'est là que tu colle la copie de la macro "Macro1"
tu enregistre et ferme visual basic
par la suite tu selectionne au menu, Outils, Macros, Macros..., Macro1
et tu appuis sur le bouton "Executer"


Sub Macro1()
Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next ws
End Sub

voilà
isabelle

Isabelle merci pour cette réponse rapide

N'étant pas "fluent" en VBS (je pense que c'est du Visual Basic) et ne
l'utilisant pas dans excel je ne sais pas ou le mettre dans mon document
excel, et comment utiliser ta réponse ?
Encore un peu d'aide
Merci

"isabelle" wrote:


bonjour mike69,

Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next ws

isabelle


Salut,

J'ai réalisé après plusieurs essais un TDC dans lequel j'ai rentré des
données d'essais et de tests.
J'ai effacé mes données d'essais et rempli correctement mes données. Dans
mon TDC, dans les filtres des champs, il reste les anciennes valeurs de tests
qui pourtant ne sont plus présentes.
Comment faire pour les faire disparaitre ?
Merci d'avance







Avatar
mike69
Rebonjour isabelle

J'ai fait ce que tu dis mais lors de l'execution de la macro j'obtiens une
erreur :
Erreur d'execution 438
Propriétés ou methode non géré par cet objet
En mode debogage l'erreur vient de :
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone

Je suis en Windows 2000 avec Excel 2000 : cela vient peut-etre de là
Merci

bonjour mike69,

ouvre visual basic en appuyant sur les touches Atl+F11

sur l'arborescance à gauche tu fais un click droit sur le VBAProject(NomDeTonClasseur) et
sélectionne Insertion, Module
suite à cette action, une page blanche sera ouverte dans la fenêtre de droite,
c'est là que tu colle la copie de la macro "Macro1"
tu enregistre et ferme visual basic
par la suite tu selectionne au menu, Outils, Macros, Macros..., Macro1
et tu appuis sur le bouton "Executer"


Sub Macro1()
Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next ws
End Sub

voilà
isabelle

Isabelle merci pour cette réponse rapide

N'étant pas "fluent" en VBS (je pense que c'est du Visual Basic) et ne
l'utilisant pas dans excel je ne sais pas ou le mettre dans mon document
excel, et comment utiliser ta réponse ?
Encore un peu d'aide
Merci

"isabelle" wrote:


bonjour mike69,

Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone
Next pt
Next ws

isabelle


Salut,

J'ai réalisé après plusieurs essais un TDC dans lequel j'ai rentré des
données d'essais et de tests.
J'ai effacé mes données d'essais et rempli correctement mes données. Dans
mon TDC, dans les filtres des champs, il reste les anciennes valeurs de tests
qui pourtant ne sont plus présentes.
Comment faire pour les faire disparaitre ?
Merci d'avance










Avatar
isabelle
bonjour mike69,

J'ai fait ce que tu dis mais lors de l'execution de la macro j'obtiens une
erreur :
Erreur d'execution 438
Propriétés ou methode non géré par cet objet
En mode debogage l'erreur vient de :
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone



j'ai trouvé cette version sur le site Excelaco, pour les version antérieur à 2002.
si tu veux bien l'essayer

'===================== Sub DeleteOldItemsWB()
'gets rid of unused items in PivotTable
' based on MSKB (202232)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim i As Integer

On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And _
Not pi.IsCalculated Then
pi.Delete
End If
Next
Next
Next
Next
End Sub ' de Debra Dalgleish


isabelle

Avatar
mike69
Super, ça marche
Merci encore


bonjour mike69,

J'ai fait ce que tu dis mais lors de l'execution de la macro j'obtiens une
erreur :
Erreur d'execution 438
Propriétés ou methode non géré par cet objet
En mode debogage l'erreur vient de :
pt.PivotCache.MissingItemsLimit = xlMissingItemsNone



j'ai trouvé cette version sur le site Excelaco, pour les version antérieur à 2002.
si tu veux bien l'essayer

'===================== > Sub DeleteOldItemsWB()
'gets rid of unused items in PivotTable
' based on MSKB (202232)
Dim ws As Worksheet
Dim pt As PivotTable
Dim pf As PivotField
Dim pi As PivotItem
Dim i As Integer

On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
For Each pf In pt.PivotFields
For Each pi In pf.PivotItems
If pi.RecordCount = 0 And _
Not pi.IsCalculated Then
pi.Delete
End If
Next
Next
Next
Next
End Sub ' de Debra Dalgleish


isabelle