Bonjour Manubole,
Est-ce possible de publier seulement une petite partie du fichier
relatif à ton problème (assure toi d'enlever toutes les informations
sensibles) en utilisant une de ces ressources :
Cjoint.com ou Cijoint.Fr
Tu publies ici, l'adresse de la location obtenue
"manubole" a écrit dans le message de groupe de discussion :
Bonjour,
Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
de l'update Pack 2, je me retrouve avec le problème suivant:
Un message d'erreur apparaît lorsque je demande l'exécution du code:
With ActiveSheet.PivotTables(1).PivotFields("Date")
.PivotItems(3).Visible = True
.PivotItems("6-jan").Visible = True
End With
Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
type 'date' regroupée en jour/mois/année.
L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
ligne 2). Je n'y comprends plus rien.
Le message d'erreur est précisément:
Sur ligne 2: "Impossible de définir la propriété Visible de la classe
PivotItem"
Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
PivotField"
Si vous pouviez m'aider, ça serait super!! Je compte sur vous..
Bonjour Manubole,
Est-ce possible de publier seulement une petite partie du fichier
relatif à ton problème (assure toi d'enlever toutes les informations
sensibles) en utilisant une de ces ressources :
Cjoint.com ou Cijoint.Fr
Tu publies ici, l'adresse de la location obtenue
"manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : FB828186-4702-4949-8564-C35C54B7108F@microsoft.com...
Bonjour,
Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
de l'update Pack 2, je me retrouve avec le problème suivant:
Un message d'erreur apparaît lorsque je demande l'exécution du code:
With ActiveSheet.PivotTables(1).PivotFields("Date")
.PivotItems(3).Visible = True
.PivotItems("6-jan").Visible = True
End With
Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
type 'date' regroupée en jour/mois/année.
L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
ligne 2). Je n'y comprends plus rien.
Le message d'erreur est précisément:
Sur ligne 2: "Impossible de définir la propriété Visible de la classe
PivotItem"
Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
PivotField"
Si vous pouviez m'aider, ça serait super!! Je compte sur vous..
Bonjour Manubole,
Est-ce possible de publier seulement une petite partie du fichier
relatif à ton problème (assure toi d'enlever toutes les informations
sensibles) en utilisant une de ces ressources :
Cjoint.com ou Cijoint.Fr
Tu publies ici, l'adresse de la location obtenue
"manubole" a écrit dans le message de groupe de discussion :
Bonjour,
Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
de l'update Pack 2, je me retrouve avec le problème suivant:
Un message d'erreur apparaît lorsque je demande l'exécution du code:
With ActiveSheet.PivotTables(1).PivotFields("Date")
.PivotItems(3).Visible = True
.PivotItems("6-jan").Visible = True
End With
Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
type 'date' regroupée en jour/mois/année.
L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
ligne 2). Je n'y comprends plus rien.
Le message d'erreur est précisément:
Sur ligne 2: "Impossible de définir la propriété Visible de la classe
PivotItem"
Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
PivotField"
Si vous pouviez m'aider, ça serait super!! Je compte sur vous..
Il y a un problème avec le contenu de ton fichier que tu as publié.
Essaie de l'ouvrir tu verras !
"manubole" a écrit dans le message de groupe de discussion :
Bonjour MichDenis,
ci après le lien.
http://cjoint.com/?fjaYTYeLJH
Merci de ton aide,
A bientôt
"MichDenis" a écrit :
> Bonjour Manubole,
>
> Est-ce possible de publier seulement une petite partie du fichier
> relatif à ton problème (assure toi d'enlever toutes les informations
> sensibles) en utilisant une de ces ressources :
> Cjoint.com ou Cijoint.Fr
>
> Tu publies ici, l'adresse de la location obtenue
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Bonjour,
>
> Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> de l'update Pack 2, je me retrouve avec le problème suivant:
>
> Un message d'erreur apparaît lorsque je demande l'exécution du code:
>
> With ActiveSheet.PivotTables(1).PivotFields("Date")
> .PivotItems(3).Visible = True
> .PivotItems("6-jan").Visible = True
> End With
>
> Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> type 'date' regroupée en jour/mois/année.
>
> L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> ligne 2). Je n'y comprends plus rien.
>
> Le message d'erreur est précisément:
> Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> PivotItem"
> Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> PivotField"
>
> Si vous pouviez m'aider, ça serait super!! Je compte sur vous.
Il y a un problème avec le contenu de ton fichier que tu as publié.
Essaie de l'ouvrir tu verras !
"manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 2BC3718F-D4CB-4514-A859-02A0B717C64A@microsoft.com...
Bonjour MichDenis,
ci après le lien.
http://cjoint.com/?fjaYTYeLJH
Merci de ton aide,
A bientôt
"MichDenis" a écrit :
> Bonjour Manubole,
>
> Est-ce possible de publier seulement une petite partie du fichier
> relatif à ton problème (assure toi d'enlever toutes les informations
> sensibles) en utilisant une de ces ressources :
> Cjoint.com ou Cijoint.Fr
>
> Tu publies ici, l'adresse de la location obtenue
>
>
>
> "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : FB828186-4702-4949-8564-C35C54B7108F@microsoft.com...
> Bonjour,
>
> Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> de l'update Pack 2, je me retrouve avec le problème suivant:
>
> Un message d'erreur apparaît lorsque je demande l'exécution du code:
>
> With ActiveSheet.PivotTables(1).PivotFields("Date")
> .PivotItems(3).Visible = True
> .PivotItems("6-jan").Visible = True
> End With
>
> Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> type 'date' regroupée en jour/mois/année.
>
> L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> ligne 2). Je n'y comprends plus rien.
>
> Le message d'erreur est précisément:
> Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> PivotItem"
> Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> PivotField"
>
> Si vous pouviez m'aider, ça serait super!! Je compte sur vous.
Il y a un problème avec le contenu de ton fichier que tu as publié.
Essaie de l'ouvrir tu verras !
"manubole" a écrit dans le message de groupe de discussion :
Bonjour MichDenis,
ci après le lien.
http://cjoint.com/?fjaYTYeLJH
Merci de ton aide,
A bientôt
"MichDenis" a écrit :
> Bonjour Manubole,
>
> Est-ce possible de publier seulement une petite partie du fichier
> relatif à ton problème (assure toi d'enlever toutes les informations
> sensibles) en utilisant une de ces ressources :
> Cjoint.com ou Cijoint.Fr
>
> Tu publies ici, l'adresse de la location obtenue
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Bonjour,
>
> Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> de l'update Pack 2, je me retrouve avec le problème suivant:
>
> Un message d'erreur apparaît lorsque je demande l'exécution du code:
>
> With ActiveSheet.PivotTables(1).PivotFields("Date")
> .PivotItems(3).Visible = True
> .PivotItems("6-jan").Visible = True
> End With
>
> Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> type 'date' regroupée en jour/mois/année.
>
> L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> ligne 2). Je n'y comprends plus rien.
>
> Le message d'erreur est précisément:
> Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> PivotItem"
> Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> PivotField"
>
> Si vous pouviez m'aider, ça serait super!! Je compte sur vous.
J'ai omis de te mentionner que le 3-Jan
représente un format "américain" 3 january et non janvier
d'où l'abréviation différente.
Si c'était le mois d'août, tu aurais "3-Aug"
La macro enregistre elle le format tel qu'il apparaît dans ton tableau
parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
qui est en vigueur.
"MichDenis" a écrit dans le message de groupe de discussion : #
Bonjour Manubole,
Tu parlais d'un champ "Page" dans ton TDC.
Voici ta macro et j'ai seulement utilisé des variables objets
'----------------------------------------------
Sub Macro2()
Dim Pt As PivotTable
Dim Pf As PivotField
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
'Cette ligne pour afficher toutes les données
'Pf.CurrentPage = "(All)"
Pf.CurrentPage = "3-Jan"
End Sub
'----------------------------------------------
Ta macro peut se résumer dans une ligne de code :
ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
Attention au format de la date en VBA
"manubole" a écrit dans le message de groupe de discussion :
Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
http://cjoint.com/?fjcbc7eeSr
"MichDenis" a écrit :
> Il y a un problème avec le contenu de ton fichier que tu as publié.
> Essaie de l'ouvrir tu verras !
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Bonjour MichDenis,
>
> ci après le lien.
> http://cjoint.com/?fjaYTYeLJH
>
> Merci de ton aide,
>
> A bientôt
>
>
> "MichDenis" a écrit :
>
> > Bonjour Manubole,
> >
> > Est-ce possible de publier seulement une petite partie du fichier
> > relatif à ton problème (assure toi d'enlever toutes les informations
> > sensibles) en utilisant une de ces ressources :
> > Cjoint.com ou Cijoint.Fr
> >
> > Tu publies ici, l'adresse de la location obtenue
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Bonjour,
> >
> > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > de l'update Pack 2, je me retrouve avec le problème suivant:
> >
> > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> >
> > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > .PivotItems(3).Visible = True
> > .PivotItems("6-jan").Visible = True
> > End With
> >
> > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > type 'date' regroupée en jour/mois/année.
> >
> > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > ligne 2). Je n'y comprends plus rien.
> >
> > Le message d'erreur est précisément:
> > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > PivotItem"
> > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > PivotField"
> >
> > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
J'ai omis de te mentionner que le 3-Jan
représente un format "américain" 3 january et non janvier
d'où l'abréviation différente.
Si c'était le mois d'août, tu aurais "3-Aug"
La macro enregistre elle le format tel qu'il apparaît dans ton tableau
parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
qui est en vigueur.
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion : #pPMlGwzJHA.4800@TK2MSFTNGP06.phx.gbl...
Bonjour Manubole,
Tu parlais d'un champ "Page" dans ton TDC.
Voici ta macro et j'ai seulement utilisé des variables objets
'----------------------------------------------
Sub Macro2()
Dim Pt As PivotTable
Dim Pf As PivotField
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
'Cette ligne pour afficher toutes les données
'Pf.CurrentPage = "(All)"
Pf.CurrentPage = "3-Jan"
End Sub
'----------------------------------------------
Ta macro peut se résumer dans une ligne de code :
ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
Attention au format de la date en VBA
"manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 6DA0419A-B620-4DDD-94DD-4511850AD244@microsoft.com...
Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
http://cjoint.com/?fjcbc7eeSr
"MichDenis" a écrit :
> Il y a un problème avec le contenu de ton fichier que tu as publié.
> Essaie de l'ouvrir tu verras !
>
>
>
> "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 2BC3718F-D4CB-4514-A859-02A0B717C64A@microsoft.com...
> Bonjour MichDenis,
>
> ci après le lien.
> http://cjoint.com/?fjaYTYeLJH
>
> Merci de ton aide,
>
> A bientôt
>
>
> "MichDenis" a écrit :
>
> > Bonjour Manubole,
> >
> > Est-ce possible de publier seulement une petite partie du fichier
> > relatif à ton problème (assure toi d'enlever toutes les informations
> > sensibles) en utilisant une de ces ressources :
> > Cjoint.com ou Cijoint.Fr
> >
> > Tu publies ici, l'adresse de la location obtenue
> >
> >
> >
> > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : FB828186-4702-4949-8564-C35C54B7108F@microsoft.com...
> > Bonjour,
> >
> > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > de l'update Pack 2, je me retrouve avec le problème suivant:
> >
> > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> >
> > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > .PivotItems(3).Visible = True
> > .PivotItems("6-jan").Visible = True
> > End With
> >
> > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > type 'date' regroupée en jour/mois/année.
> >
> > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > ligne 2). Je n'y comprends plus rien.
> >
> > Le message d'erreur est précisément:
> > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > PivotItem"
> > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > PivotField"
> >
> > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
J'ai omis de te mentionner que le 3-Jan
représente un format "américain" 3 january et non janvier
d'où l'abréviation différente.
Si c'était le mois d'août, tu aurais "3-Aug"
La macro enregistre elle le format tel qu'il apparaît dans ton tableau
parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
qui est en vigueur.
"MichDenis" a écrit dans le message de groupe de discussion : #
Bonjour Manubole,
Tu parlais d'un champ "Page" dans ton TDC.
Voici ta macro et j'ai seulement utilisé des variables objets
'----------------------------------------------
Sub Macro2()
Dim Pt As PivotTable
Dim Pf As PivotField
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
'Cette ligne pour afficher toutes les données
'Pf.CurrentPage = "(All)"
Pf.CurrentPage = "3-Jan"
End Sub
'----------------------------------------------
Ta macro peut se résumer dans une ligne de code :
ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
Attention au format de la date en VBA
"manubole" a écrit dans le message de groupe de discussion :
Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
http://cjoint.com/?fjcbc7eeSr
"MichDenis" a écrit :
> Il y a un problème avec le contenu de ton fichier que tu as publié.
> Essaie de l'ouvrir tu verras !
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Bonjour MichDenis,
>
> ci après le lien.
> http://cjoint.com/?fjaYTYeLJH
>
> Merci de ton aide,
>
> A bientôt
>
>
> "MichDenis" a écrit :
>
> > Bonjour Manubole,
> >
> > Est-ce possible de publier seulement une petite partie du fichier
> > relatif à ton problème (assure toi d'enlever toutes les informations
> > sensibles) en utilisant une de ces ressources :
> > Cjoint.com ou Cijoint.Fr
> >
> > Tu publies ici, l'adresse de la location obtenue
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Bonjour,
> >
> > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > de l'update Pack 2, je me retrouve avec le problème suivant:
> >
> > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> >
> > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > .PivotItems(3).Visible = True
> > .PivotItems("6-jan").Visible = True
> > End With
> >
> > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > type 'date' regroupée en jour/mois/année.
> >
> > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > ligne 2). Je n'y comprends plus rien.
> >
> > Le message d'erreur est précisément:
> > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > PivotItem"
> > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > PivotField"
> >
> > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
2 procédures :
Tu dois avoir des éléments fantômes dans ton TDC.
Pour nettoyer ton tdc, tu colles cette macro dans un module standard
et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
de toutes les feuilles de ton classeur
Cette macro fut proposee par Daniel Maher.
------------------------------------------------
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
------------------------------------------------
Dans un second temps, tu exécutes cette macro :
Comme tu veux fonctionner en utilisant leur position
dans la liste, tu dois dans la procédure le dire le select case
Teste avec Excel 2007
------------------------------------------------
Sub test()
Dim A as Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
a = a + 1
Select Case a
'Inscrit en dessous les numéros des items
Case 1, 5, 9
Pf.PivotItems(a).Visible = True
End Select
Next
End Sub
------------------------------------------------
"manubole" a écrit dans le message de groupe de discussion :
Merci de ta réponse,
Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
c'est bien cela qui ne marche pas.
Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
utilisé le n° de l'item également, et ça ne marche toujours pas....
Une idée?
"MichDenis" a écrit :
> J'ai omis de te mentionner que le 3-Jan
> représente un format "américain" 3 january et non janvier
> d'où l'abréviation différente.
>
> Si c'était le mois d'août, tu aurais "3-Aug"
>
> La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> qui est en vigueur.
>
>
>
> "MichDenis" a écrit dans le message de groupe de discussion : #
> Bonjour Manubole,
>
> Tu parlais d'un champ "Page" dans ton TDC.
> Voici ta macro et j'ai seulement utilisé des variables objets
>
> '----------------------------------------------
> Sub Macro2()
>
> Dim Pt As PivotTable
> Dim Pf As PivotField
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
> Set Pf = Pt.PivotFields("Jour")
>
> 'Cette ligne pour afficher toutes les données
> 'Pf.CurrentPage = "(All)"
>
> Pf.CurrentPage = "3-Jan"
> End Sub
> '----------------------------------------------
>
> Ta macro peut se résumer dans une ligne de code :
>
> ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
>
> Attention au format de la date en VBA
>
>
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
>
> http://cjoint.com/?fjcbc7eeSr
>
>
>
> "MichDenis" a écrit :
>
> > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > Essaie de l'ouvrir tu verras !
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Bonjour MichDenis,
> >
> > ci après le lien.
> > http://cjoint.com/?fjaYTYeLJH
> >
> > Merci de ton aide,
> >
> > A bientôt
> >
> >
> > "MichDenis" a écrit :
> >
> > > Bonjour Manubole,
> > >
> > > Est-ce possible de publier seulement une petite partie du fichier
> > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > sensibles) en utilisant une de ces ressources :
> > > Cjoint.com ou Cijoint.Fr
> > >
> > > Tu publies ici, l'adresse de la location obtenue
> > >
> > >
> > >
> > > "manubole" a écrit dans le message de groupe de discussion :
> > > Bonjour,
> > >
> > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > >
> > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > >
> > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > .PivotItems(3).Visible = True
> > > .PivotItems("6-jan").Visible = True
> > > End With
> > >
> > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > type 'date' regroupée en jour/mois/année.
> > >
> > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > ligne 2). Je n'y comprends plus rien.
> > >
> > > Le message d'erreur est précisément:
> > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > PivotItem"
> > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > PivotField"
> > >
> > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
2 procédures :
Tu dois avoir des éléments fantômes dans ton TDC.
Pour nettoyer ton tdc, tu colles cette macro dans un module standard
et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
de toutes les feuilles de ton classeur
Cette macro fut proposee par Daniel Maher.
------------------------------------------------
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
------------------------------------------------
Dans un second temps, tu exécutes cette macro :
Comme tu veux fonctionner en utilisant leur position
dans la liste, tu dois dans la procédure le dire le select case
Teste avec Excel 2007
------------------------------------------------
Sub test()
Dim A as Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
a = a + 1
Select Case a
'Inscrit en dessous les numéros des items
Case 1, 5, 9
Pf.PivotItems(a).Visible = True
End Select
Next
End Sub
------------------------------------------------
"manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : C2EA3C70-CCA9-48AF-8F64-6109B10A6427@microsoft.com...
Merci de ta réponse,
Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
c'est bien cela qui ne marche pas.
Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
utilisé le n° de l'item également, et ça ne marche toujours pas....
Une idée?
"MichDenis" a écrit :
> J'ai omis de te mentionner que le 3-Jan
> représente un format "américain" 3 january et non janvier
> d'où l'abréviation différente.
>
> Si c'était le mois d'août, tu aurais "3-Aug"
>
> La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> qui est en vigueur.
>
>
>
> "MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion : #pPMlGwzJHA.4800@TK2MSFTNGP06.phx.gbl...
> Bonjour Manubole,
>
> Tu parlais d'un champ "Page" dans ton TDC.
> Voici ta macro et j'ai seulement utilisé des variables objets
>
> '----------------------------------------------
> Sub Macro2()
>
> Dim Pt As PivotTable
> Dim Pf As PivotField
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
> Set Pf = Pt.PivotFields("Jour")
>
> 'Cette ligne pour afficher toutes les données
> 'Pf.CurrentPage = "(All)"
>
> Pf.CurrentPage = "3-Jan"
> End Sub
> '----------------------------------------------
>
> Ta macro peut se résumer dans une ligne de code :
>
> ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
>
> Attention au format de la date en VBA
>
>
>
>
>
> "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 6DA0419A-B620-4DDD-94DD-4511850AD244@microsoft.com...
> Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
>
> http://cjoint.com/?fjcbc7eeSr
>
>
>
> "MichDenis" a écrit :
>
> > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > Essaie de l'ouvrir tu verras !
> >
> >
> >
> > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 2BC3718F-D4CB-4514-A859-02A0B717C64A@microsoft.com...
> > Bonjour MichDenis,
> >
> > ci après le lien.
> > http://cjoint.com/?fjaYTYeLJH
> >
> > Merci de ton aide,
> >
> > A bientôt
> >
> >
> > "MichDenis" a écrit :
> >
> > > Bonjour Manubole,
> > >
> > > Est-ce possible de publier seulement une petite partie du fichier
> > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > sensibles) en utilisant une de ces ressources :
> > > Cjoint.com ou Cijoint.Fr
> > >
> > > Tu publies ici, l'adresse de la location obtenue
> > >
> > >
> > >
> > > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : FB828186-4702-4949-8564-C35C54B7108F@microsoft.com...
> > > Bonjour,
> > >
> > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > >
> > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > >
> > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > .PivotItems(3).Visible = True
> > > .PivotItems("6-jan").Visible = True
> > > End With
> > >
> > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > type 'date' regroupée en jour/mois/année.
> > >
> > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > ligne 2). Je n'y comprends plus rien.
> > >
> > > Le message d'erreur est précisément:
> > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > PivotItem"
> > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > PivotField"
> > >
> > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
2 procédures :
Tu dois avoir des éléments fantômes dans ton TDC.
Pour nettoyer ton tdc, tu colles cette macro dans un module standard
et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
de toutes les feuilles de ton classeur
Cette macro fut proposee par Daniel Maher.
------------------------------------------------
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
------------------------------------------------
Dans un second temps, tu exécutes cette macro :
Comme tu veux fonctionner en utilisant leur position
dans la liste, tu dois dans la procédure le dire le select case
Teste avec Excel 2007
------------------------------------------------
Sub test()
Dim A as Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
a = a + 1
Select Case a
'Inscrit en dessous les numéros des items
Case 1, 5, 9
Pf.PivotItems(a).Visible = True
End Select
Next
End Sub
------------------------------------------------
"manubole" a écrit dans le message de groupe de discussion :
Merci de ta réponse,
Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
c'est bien cela qui ne marche pas.
Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
utilisé le n° de l'item également, et ça ne marche toujours pas....
Une idée?
"MichDenis" a écrit :
> J'ai omis de te mentionner que le 3-Jan
> représente un format "américain" 3 january et non janvier
> d'où l'abréviation différente.
>
> Si c'était le mois d'août, tu aurais "3-Aug"
>
> La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> qui est en vigueur.
>
>
>
> "MichDenis" a écrit dans le message de groupe de discussion : #
> Bonjour Manubole,
>
> Tu parlais d'un champ "Page" dans ton TDC.
> Voici ta macro et j'ai seulement utilisé des variables objets
>
> '----------------------------------------------
> Sub Macro2()
>
> Dim Pt As PivotTable
> Dim Pf As PivotField
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
> Set Pf = Pt.PivotFields("Jour")
>
> 'Cette ligne pour afficher toutes les données
> 'Pf.CurrentPage = "(All)"
>
> Pf.CurrentPage = "3-Jan"
> End Sub
> '----------------------------------------------
>
> Ta macro peut se résumer dans une ligne de code :
>
> ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
>
> Attention au format de la date en VBA
>
>
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
>
> http://cjoint.com/?fjcbc7eeSr
>
>
>
> "MichDenis" a écrit :
>
> > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > Essaie de l'ouvrir tu verras !
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Bonjour MichDenis,
> >
> > ci après le lien.
> > http://cjoint.com/?fjaYTYeLJH
> >
> > Merci de ton aide,
> >
> > A bientôt
> >
> >
> > "MichDenis" a écrit :
> >
> > > Bonjour Manubole,
> > >
> > > Est-ce possible de publier seulement une petite partie du fichier
> > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > sensibles) en utilisant une de ces ressources :
> > > Cjoint.com ou Cijoint.Fr
> > >
> > > Tu publies ici, l'adresse de la location obtenue
> > >
> > >
> > >
> > > "manubole" a écrit dans le message de groupe de discussion :
> > > Bonjour,
> > >
> > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > >
> > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > >
> > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > .PivotItems(3).Visible = True
> > > .PivotItems("6-jan").Visible = True
> > > End With
> > >
> > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > type 'date' regroupée en jour/mois/année.
> > >
> > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > ligne 2). Je n'y comprends plus rien.
> > >
> > > Le message d'erreur est précisément:
> > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > PivotItem"
> > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > PivotField"
> > >
> > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
2 procédures :
Tu dois avoir des éléments fantômes dans ton TDC.
Pour nettoyer ton tdc, tu colles cette macro dans un module standard
et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
de toutes les feuilles de ton classeur
Cette macro fut proposee par Daniel Maher.
------------------------------------------------
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
------------------------------------------------
Dans un second temps, tu exécutes cette macro :
Comme tu veux fonctionner en utilisant leur position
dans la liste, tu dois dans la procédure le dire le select case
Teste avec Excel 2007
------------------------------------------------
Sub test()
Dim A as Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
a = a + 1
Select Case a
'Inscrit en dessous les numéros des items
Case 1, 5, 9
Pf.PivotItems(a).Visible = True
End Select
Next
End Sub
------------------------------------------------
"manubole" a écrit dans le message de groupe de discussion :
Merci de ta réponse,
Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
c'est bien cela qui ne marche pas.
Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
utilisé le n° de l'item également, et ça ne marche toujours pas....
Une idée?
"MichDenis" a écrit :
> J'ai omis de te mentionner que le 3-Jan
> représente un format "américain" 3 january et non janvier
> d'où l'abréviation différente.
>
> Si c'était le mois d'août, tu aurais "3-Aug"
>
> La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> qui est en vigueur.
>
>
>
> "MichDenis" a écrit dans le message de groupe de discussion : #
> Bonjour Manubole,
>
> Tu parlais d'un champ "Page" dans ton TDC.
> Voici ta macro et j'ai seulement utilisé des variables objets
>
> '----------------------------------------------
> Sub Macro2()
>
> Dim Pt As PivotTable
> Dim Pf As PivotField
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
> Set Pf = Pt.PivotFields("Jour")
>
> 'Cette ligne pour afficher toutes les données
> 'Pf.CurrentPage = "(All)"
>
> Pf.CurrentPage = "3-Jan"
> End Sub
> '----------------------------------------------
>
> Ta macro peut se résumer dans une ligne de code :
>
> ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
>
> Attention au format de la date en VBA
>
>
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
>
> http://cjoint.com/?fjcbc7eeSr
>
>
>
> "MichDenis" a écrit :
>
> > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > Essaie de l'ouvrir tu verras !
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Bonjour MichDenis,
> >
> > ci après le lien.
> > http://cjoint.com/?fjaYTYeLJH
> >
> > Merci de ton aide,
> >
> > A bientôt
> >
> >
> > "MichDenis" a écrit :
> >
> > > Bonjour Manubole,
> > >
> > > Est-ce possible de publier seulement une petite partie du fichier
> > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > sensibles) en utilisant une de ces ressources :
> > > Cjoint.com ou Cijoint.Fr
> > >
> > > Tu publies ici, l'adresse de la location obtenue
> > >
> > >
> > >
> > > "manubole" a écrit dans le message de groupe de discussion :
> > > Bonjour,
> > >
> > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > >
> > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > >
> > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > .PivotItems(3).Visible = True
> > > .PivotItems("6-jan").Visible = True
> > > End With
> > >
> > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > type 'date' regroupée en jour/mois/année.
> > >
> > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > ligne 2). Je n'y comprends plus rien.
> > >
> > > Le message d'erreur est précisément:
> > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > PivotItem"
> > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > PivotField"
> > >
> > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
2 procédures :
Tu dois avoir des éléments fantômes dans ton TDC.
Pour nettoyer ton tdc, tu colles cette macro dans un module standard
et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
de toutes les feuilles de ton classeur
Cette macro fut proposee par Daniel Maher.
------------------------------------------------
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
------------------------------------------------
Dans un second temps, tu exécutes cette macro :
Comme tu veux fonctionner en utilisant leur position
dans la liste, tu dois dans la procédure le dire le select case
Teste avec Excel 2007
------------------------------------------------
Sub test()
Dim A as Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
a = a + 1
Select Case a
'Inscrit en dessous les numéros des items
Case 1, 5, 9
Pf.PivotItems(a).Visible = True
End Select
Next
End Sub
------------------------------------------------
"manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : C2EA3C70-CCA9-48AF-8F64-6109B10A6427@microsoft.com...
Merci de ta réponse,
Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
c'est bien cela qui ne marche pas.
Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
utilisé le n° de l'item également, et ça ne marche toujours pas....
Une idée?
"MichDenis" a écrit :
> J'ai omis de te mentionner que le 3-Jan
> représente un format "américain" 3 january et non janvier
> d'où l'abréviation différente.
>
> Si c'était le mois d'août, tu aurais "3-Aug"
>
> La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> qui est en vigueur.
>
>
>
> "MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion : #pPMlGwzJHA.4800@TK2MSFTNGP06.phx.gbl...
> Bonjour Manubole,
>
> Tu parlais d'un champ "Page" dans ton TDC.
> Voici ta macro et j'ai seulement utilisé des variables objets
>
> '----------------------------------------------
> Sub Macro2()
>
> Dim Pt As PivotTable
> Dim Pf As PivotField
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
> Set Pf = Pt.PivotFields("Jour")
>
> 'Cette ligne pour afficher toutes les données
> 'Pf.CurrentPage = "(All)"
>
> Pf.CurrentPage = "3-Jan"
> End Sub
> '----------------------------------------------
>
> Ta macro peut se résumer dans une ligne de code :
>
> ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
>
> Attention au format de la date en VBA
>
>
>
>
>
> "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 6DA0419A-B620-4DDD-94DD-4511850AD244@microsoft.com...
> Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
>
> http://cjoint.com/?fjcbc7eeSr
>
>
>
> "MichDenis" a écrit :
>
> > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > Essaie de l'ouvrir tu verras !
> >
> >
> >
> > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 2BC3718F-D4CB-4514-A859-02A0B717C64A@microsoft.com...
> > Bonjour MichDenis,
> >
> > ci après le lien.
> > http://cjoint.com/?fjaYTYeLJH
> >
> > Merci de ton aide,
> >
> > A bientôt
> >
> >
> > "MichDenis" a écrit :
> >
> > > Bonjour Manubole,
> > >
> > > Est-ce possible de publier seulement une petite partie du fichier
> > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > sensibles) en utilisant une de ces ressources :
> > > Cjoint.com ou Cijoint.Fr
> > >
> > > Tu publies ici, l'adresse de la location obtenue
> > >
> > >
> > >
> > > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : FB828186-4702-4949-8564-C35C54B7108F@microsoft.com...
> > > Bonjour,
> > >
> > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > >
> > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > >
> > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > .PivotItems(3).Visible = True
> > > .PivotItems("6-jan").Visible = True
> > > End With
> > >
> > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > type 'date' regroupée en jour/mois/année.
> > >
> > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > ligne 2). Je n'y comprends plus rien.
> > >
> > > Le message d'erreur est précisément:
> > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > PivotItem"
> > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > PivotField"
> > >
> > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
2 procédures :
Tu dois avoir des éléments fantômes dans ton TDC.
Pour nettoyer ton tdc, tu colles cette macro dans un module standard
et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
de toutes les feuilles de ton classeur
Cette macro fut proposee par Daniel Maher.
------------------------------------------------
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
------------------------------------------------
Dans un second temps, tu exécutes cette macro :
Comme tu veux fonctionner en utilisant leur position
dans la liste, tu dois dans la procédure le dire le select case
Teste avec Excel 2007
------------------------------------------------
Sub test()
Dim A as Long
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
Set Pf = Pt.PivotFields("Jour")
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
a = a + 1
Select Case a
'Inscrit en dessous les numéros des items
Case 1, 5, 9
Pf.PivotItems(a).Visible = True
End Select
Next
End Sub
------------------------------------------------
"manubole" a écrit dans le message de groupe de discussion :
Merci de ta réponse,
Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
c'est bien cela qui ne marche pas.
Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
utilisé le n° de l'item également, et ça ne marche toujours pas....
Une idée?
"MichDenis" a écrit :
> J'ai omis de te mentionner que le 3-Jan
> représente un format "américain" 3 january et non janvier
> d'où l'abréviation différente.
>
> Si c'était le mois d'août, tu aurais "3-Aug"
>
> La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> qui est en vigueur.
>
>
>
> "MichDenis" a écrit dans le message de groupe de discussion : #
> Bonjour Manubole,
>
> Tu parlais d'un champ "Page" dans ton TDC.
> Voici ta macro et j'ai seulement utilisé des variables objets
>
> '----------------------------------------------
> Sub Macro2()
>
> Dim Pt As PivotTable
> Dim Pf As PivotField
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
> Set Pf = Pt.PivotFields("Jour")
>
> 'Cette ligne pour afficher toutes les données
> 'Pf.CurrentPage = "(All)"
>
> Pf.CurrentPage = "3-Jan"
> End Sub
> '----------------------------------------------
>
> Ta macro peut se résumer dans une ligne de code :
>
> ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
>
> Attention au format de la date en VBA
>
>
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
>
> http://cjoint.com/?fjcbc7eeSr
>
>
>
> "MichDenis" a écrit :
>
> > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > Essaie de l'ouvrir tu verras !
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Bonjour MichDenis,
> >
> > ci après le lien.
> > http://cjoint.com/?fjaYTYeLJH
> >
> > Merci de ton aide,
> >
> > A bientôt
> >
> >
> > "MichDenis" a écrit :
> >
> > > Bonjour Manubole,
> > >
> > > Est-ce possible de publier seulement une petite partie du fichier
> > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > sensibles) en utilisant une de ces ressources :
> > > Cjoint.com ou Cijoint.Fr
> > >
> > > Tu publies ici, l'adresse de la location obtenue
> > >
> > >
> > >
> > > "manubole" a écrit dans le message de groupe de discussion :
> > > Bonjour,
> > >
> > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > >
> > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > >
> > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > .PivotItems(3).Visible = True
> > > .PivotItems("6-jan").Visible = True
> > > End With
> > >
> > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > type 'date' regroupée en jour/mois/année.
> > >
> > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > ligne 2). Je n'y comprends plus rien.
> > >
> > > Le message d'erreur est précisément:
> > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > PivotItem"
> > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > PivotField"
> > >
> > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
Alors ça bloque toujours, et notamment sur les jours qui commencent par '0'
(type 09-Janv" par exemple).
J'ai mis cette macro toute simple:
'
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
Application.ScreenUpdating = False
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
i = 0
Set Pf = Pt.PivotFields("Jour")
Pt.ManualUpdate = False
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
i = i + 1
If Pf.PivotItems.Count > i Then Pi.Visible = False
Next
'
J'ai une erreur à chaque fois que le jour commence par un "0"...
Je ne sais plus quoi faire, faut-il changer le format du regroupement "jour"
dans le TCD (mais alors comment faire?)??
Même si j'essaye avec une macro qui spécifie le n°, et non plus le nom, de
l'item, le résultat est le même.
Help...!
"MichDenis" a écrit :
> 2 procédures :
>
> Tu dois avoir des éléments fantômes dans ton TDC.
>
> Pour nettoyer ton tdc, tu colles cette macro dans un module standard
> et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
> de toutes les feuilles de ton classeur
>
> Cette macro fut proposee par Daniel Maher.
> ------------------------------------------------
> 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
> ------------------------------------------------
>
> Dans un second temps, tu exécutes cette macro :
>
> Comme tu veux fonctionner en utilisant leur position
> dans la liste, tu dois dans la procédure le dire le select case
> Teste avec Excel 2007
>
> ------------------------------------------------
> Sub test()
> Dim A as Long
> Dim Pt As PivotTable
> Dim Pf As PivotField
> Dim Pi As PivotItem
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
>
> Set Pf = Pt.PivotFields("Jour")
> Pf.EnableMultiplePageItems = True
> For Each Pi In Pf.PivotItems
> a = a + 1
> Select Case a
> 'Inscrit en dessous les numéros des items
> Case 1, 5, 9
> Pf.PivotItems(a).Visible = True
> End Select
> Next
> End Sub
> ------------------------------------------------
>
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Merci de ta réponse,
>
> Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
> souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
> sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
> c'est bien cela qui ne marche pas.
>
> Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
> utilisé le n° de l'item également, et ça ne marche toujours pas....
>
> Une idée?
>
>
>
>
> "MichDenis" a écrit :
>
> > J'ai omis de te mentionner que le 3-Jan
> > représente un format "américain" 3 january et non janvier
> > d'où l'abréviation différente.
> >
> > Si c'était le mois d'août, tu aurais "3-Aug"
> >
> > La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> > parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> > de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> > qui est en vigueur.
> >
> >
> >
> > "MichDenis" a écrit dans le message de groupe de discussion : #
> > Bonjour Manubole,
> >
> > Tu parlais d'un champ "Page" dans ton TDC.
> > Voici ta macro et j'ai seulement utilisé des variables objets
> >
> > '----------------------------------------------
> > Sub Macro2()
> >
> > Dim Pt As PivotTable
> > Dim Pf As PivotField
> >
> > With Sheets("hebdo_reseau")
> > Set Pt = .PivotTables(1)
> > End With
> > Set Pf = Pt.PivotFields("Jour")
> >
> > 'Cette ligne pour afficher toutes les données
> > 'Pf.CurrentPage = "(All)"
> >
> > Pf.CurrentPage = "3-Jan"
> > End Sub
> > '----------------------------------------------
> >
> > Ta macro peut se résumer dans une ligne de code :
> >
> > ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
> >
> > Attention au format de la date en VBA
> >
> >
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
> >
> > http://cjoint.com/?fjcbc7eeSr
> >
> >
> >
> > "MichDenis" a écrit :
> >
> > > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > > Essaie de l'ouvrir tu verras !
> > >
> > >
> > >
> > > "manubole" a écrit dans le message de groupe de discussion :
> > > Bonjour MichDenis,
> > >
> > > ci après le lien.
> > > http://cjoint.com/?fjaYTYeLJH
> > >
> > > Merci de ton aide,
> > >
> > > A bientôt
> > >
> > >
> > > "MichDenis" a écrit :
> > >
> > > > Bonjour Manubole,
> > > >
> > > > Est-ce possible de publier seulement une petite partie du fichier
> > > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > > sensibles) en utilisant une de ces ressources :
> > > > Cjoint.com ou Cijoint.Fr
> > > >
> > > > Tu publies ici, l'adresse de la location obtenue
> > > >
> > > >
> > > >
> > > > "manubole" a écrit dans le message de groupe de discussion :
> > > > Bonjour,
> > > >
> > > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > > >
> > > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > > >
> > > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > > .PivotItems(3).Visible = True
> > > > .PivotItems("6-jan").Visible = True
> > > > End With
> > > >
> > > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > > type 'date' regroupée en jour/mois/année.
> > > >
> > > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > > ligne 2). Je n'y comprends plus rien.
> > > >
> > > > Le message d'erreur est précisément:
> > > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > > PivotItem"
> > > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > > PivotField"
> > > >
> > > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
Alors ça bloque toujours, et notamment sur les jours qui commencent par '0'
(type 09-Janv" par exemple).
J'ai mis cette macro toute simple:
'
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
Application.ScreenUpdating = False
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
i = 0
Set Pf = Pt.PivotFields("Jour")
Pt.ManualUpdate = False
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
i = i + 1
If Pf.PivotItems.Count > i Then Pi.Visible = False
Next
'
J'ai une erreur à chaque fois que le jour commence par un "0"...
Je ne sais plus quoi faire, faut-il changer le format du regroupement "jour"
dans le TCD (mais alors comment faire?)??
Même si j'essaye avec une macro qui spécifie le n°, et non plus le nom, de
l'item, le résultat est le même.
Help...!
"MichDenis" a écrit :
> 2 procédures :
>
> Tu dois avoir des éléments fantômes dans ton TDC.
>
> Pour nettoyer ton tdc, tu colles cette macro dans un module standard
> et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
> de toutes les feuilles de ton classeur
>
> Cette macro fut proposee par Daniel Maher.
> ------------------------------------------------
> 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
> ------------------------------------------------
>
> Dans un second temps, tu exécutes cette macro :
>
> Comme tu veux fonctionner en utilisant leur position
> dans la liste, tu dois dans la procédure le dire le select case
> Teste avec Excel 2007
>
> ------------------------------------------------
> Sub test()
> Dim A as Long
> Dim Pt As PivotTable
> Dim Pf As PivotField
> Dim Pi As PivotItem
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
>
> Set Pf = Pt.PivotFields("Jour")
> Pf.EnableMultiplePageItems = True
> For Each Pi In Pf.PivotItems
> a = a + 1
> Select Case a
> 'Inscrit en dessous les numéros des items
> Case 1, 5, 9
> Pf.PivotItems(a).Visible = True
> End Select
> Next
> End Sub
> ------------------------------------------------
>
>
>
>
> "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : C2EA3C70-CCA9-48AF-8F64-6109B10A6427@microsoft.com...
> Merci de ta réponse,
>
> Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
> souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
> sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
> c'est bien cela qui ne marche pas.
>
> Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
> utilisé le n° de l'item également, et ça ne marche toujours pas....
>
> Une idée?
>
>
>
>
> "MichDenis" a écrit :
>
> > J'ai omis de te mentionner que le 3-Jan
> > représente un format "américain" 3 january et non janvier
> > d'où l'abréviation différente.
> >
> > Si c'était le mois d'août, tu aurais "3-Aug"
> >
> > La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> > parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> > de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> > qui est en vigueur.
> >
> >
> >
> > "MichDenis" <michdenis@hotmail.com> a écrit dans le message de groupe de discussion : #pPMlGwzJHA.4800@TK2MSFTNGP06.phx.gbl...
> > Bonjour Manubole,
> >
> > Tu parlais d'un champ "Page" dans ton TDC.
> > Voici ta macro et j'ai seulement utilisé des variables objets
> >
> > '----------------------------------------------
> > Sub Macro2()
> >
> > Dim Pt As PivotTable
> > Dim Pf As PivotField
> >
> > With Sheets("hebdo_reseau")
> > Set Pt = .PivotTables(1)
> > End With
> > Set Pf = Pt.PivotFields("Jour")
> >
> > 'Cette ligne pour afficher toutes les données
> > 'Pf.CurrentPage = "(All)"
> >
> > Pf.CurrentPage = "3-Jan"
> > End Sub
> > '----------------------------------------------
> >
> > Ta macro peut se résumer dans une ligne de code :
> >
> > ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
> >
> > Attention au format de la date en VBA
> >
> >
> >
> >
> >
> > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 6DA0419A-B620-4DDD-94DD-4511850AD244@microsoft.com...
> > Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
> >
> > http://cjoint.com/?fjcbc7eeSr
> >
> >
> >
> > "MichDenis" a écrit :
> >
> > > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > > Essaie de l'ouvrir tu verras !
> > >
> > >
> > >
> > > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : 2BC3718F-D4CB-4514-A859-02A0B717C64A@microsoft.com...
> > > Bonjour MichDenis,
> > >
> > > ci après le lien.
> > > http://cjoint.com/?fjaYTYeLJH
> > >
> > > Merci de ton aide,
> > >
> > > A bientôt
> > >
> > >
> > > "MichDenis" a écrit :
> > >
> > > > Bonjour Manubole,
> > > >
> > > > Est-ce possible de publier seulement une petite partie du fichier
> > > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > > sensibles) en utilisant une de ces ressources :
> > > > Cjoint.com ou Cijoint.Fr
> > > >
> > > > Tu publies ici, l'adresse de la location obtenue
> > > >
> > > >
> > > >
> > > > "manubole" <manubole@discussions.microsoft.com> a écrit dans le message de groupe de discussion : FB828186-4702-4949-8564-C35C54B7108F@microsoft.com...
> > > > Bonjour,
> > > >
> > > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > > >
> > > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > > >
> > > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > > .PivotItems(3).Visible = True
> > > > .PivotItems("6-jan").Visible = True
> > > > End With
> > > >
> > > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > > type 'date' regroupée en jour/mois/année.
> > > >
> > > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > > ligne 2). Je n'y comprends plus rien.
> > > >
> > > > Le message d'erreur est précisément:
> > > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > > PivotItem"
> > > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > > PivotField"
> > > >
> > > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous
Alors ça bloque toujours, et notamment sur les jours qui commencent par '0'
(type 09-Janv" par exemple).
J'ai mis cette macro toute simple:
'
Dim Pt As PivotTable
Dim Pf As PivotField
Dim Pi As PivotItem
Application.ScreenUpdating = False
With Sheets("hebdo_reseau")
Set Pt = .PivotTables(1)
End With
i = 0
Set Pf = Pt.PivotFields("Jour")
Pt.ManualUpdate = False
Pf.EnableMultiplePageItems = True
For Each Pi In Pf.PivotItems
i = i + 1
If Pf.PivotItems.Count > i Then Pi.Visible = False
Next
'
J'ai une erreur à chaque fois que le jour commence par un "0"...
Je ne sais plus quoi faire, faut-il changer le format du regroupement "jour"
dans le TCD (mais alors comment faire?)??
Même si j'essaye avec une macro qui spécifie le n°, et non plus le nom, de
l'item, le résultat est le même.
Help...!
"MichDenis" a écrit :
> 2 procédures :
>
> Tu dois avoir des éléments fantômes dans ton TDC.
>
> Pour nettoyer ton tdc, tu colles cette macro dans un module standard
> et tu exécutes une fois. Cela va faire le bouton pour tous les TDC
> de toutes les feuilles de ton classeur
>
> Cette macro fut proposee par Daniel Maher.
> ------------------------------------------------
> 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
> ------------------------------------------------
>
> Dans un second temps, tu exécutes cette macro :
>
> Comme tu veux fonctionner en utilisant leur position
> dans la liste, tu dois dans la procédure le dire le select case
> Teste avec Excel 2007
>
> ------------------------------------------------
> Sub test()
> Dim A as Long
> Dim Pt As PivotTable
> Dim Pf As PivotField
> Dim Pi As PivotItem
>
> With Sheets("hebdo_reseau")
> Set Pt = .PivotTables(1)
> End With
>
> Set Pf = Pt.PivotFields("Jour")
> Pf.EnableMultiplePageItems = True
> For Each Pi In Pf.PivotItems
> a = a + 1
> Select Case a
> 'Inscrit en dessous les numéros des items
> Case 1, 5, 9
> Pf.PivotItems(a).Visible = True
> End Select
> Next
> End Sub
> ------------------------------------------------
>
>
>
>
> "manubole" a écrit dans le message de groupe de discussion :
> Merci de ta réponse,
>
> Mais elle ne répond pas tout à fait à ma demande, dans le sens où je
> souhaite non pas sélectionner qu'un seul item, mais plutôt faire une
> sélection de plusieurs items. D'où l'emploi de la fonction 'visible'. Et
> c'est bien cela qui ne marche pas.
>
> Quant au format de la date, ce n'est pas l'origine du problème puisque j'ai
> utilisé le n° de l'item également, et ça ne marche toujours pas....
>
> Une idée?
>
>
>
>
> "MichDenis" a écrit :
>
> > J'ai omis de te mentionner que le 3-Jan
> > représente un format "américain" 3 january et non janvier
> > d'où l'abréviation différente.
> >
> > Si c'était le mois d'août, tu aurais "3-Aug"
> >
> > La macro enregistre elle le format tel qu'il apparaît dans ton tableau
> > parce que tu as utilisé l'outil "enregistreur de macro" dans l'interface
> > de la feuille de calcul. Mais en VBA, c'est le format américain mois/jour/année
> > qui est en vigueur.
> >
> >
> >
> > "MichDenis" a écrit dans le message de groupe de discussion : #
> > Bonjour Manubole,
> >
> > Tu parlais d'un champ "Page" dans ton TDC.
> > Voici ta macro et j'ai seulement utilisé des variables objets
> >
> > '----------------------------------------------
> > Sub Macro2()
> >
> > Dim Pt As PivotTable
> > Dim Pf As PivotField
> >
> > With Sheets("hebdo_reseau")
> > Set Pt = .PivotTables(1)
> > End With
> > Set Pf = Pt.PivotFields("Jour")
> >
> > 'Cette ligne pour afficher toutes les données
> > 'Pf.CurrentPage = "(All)"
> >
> > Pf.CurrentPage = "3-Jan"
> > End Sub
> > '----------------------------------------------
> >
> > Ta macro peut se résumer dans une ligne de code :
> >
> > ActiveSheet.PivotTables(1).PivotFields("Jour").CurrentPage = "6-Jan"
> >
> > Attention au format de la date en VBA
> >
> >
> >
> >
> >
> > "manubole" a écrit dans le message de groupe de discussion :
> > Ah zut! J'ai zippé le fichier on va voir ce que ça donne.
> >
> > http://cjoint.com/?fjcbc7eeSr
> >
> >
> >
> > "MichDenis" a écrit :
> >
> > > Il y a un problème avec le contenu de ton fichier que tu as publié.
> > > Essaie de l'ouvrir tu verras !
> > >
> > >
> > >
> > > "manubole" a écrit dans le message de groupe de discussion :
> > > Bonjour MichDenis,
> > >
> > > ci après le lien.
> > > http://cjoint.com/?fjaYTYeLJH
> > >
> > > Merci de ton aide,
> > >
> > > A bientôt
> > >
> > >
> > > "MichDenis" a écrit :
> > >
> > > > Bonjour Manubole,
> > > >
> > > > Est-ce possible de publier seulement une petite partie du fichier
> > > > relatif à ton problème (assure toi d'enlever toutes les informations
> > > > sensibles) en utilisant une de ces ressources :
> > > > Cjoint.com ou Cijoint.Fr
> > > >
> > > > Tu publies ici, l'adresse de la location obtenue
> > > >
> > > >
> > > >
> > > > "manubole" a écrit dans le message de groupe de discussion :
> > > > Bonjour,
> > > >
> > > > Sur une macro qui tournait TRES BIEN sur Office 2007, avant l'installation
> > > > de l'update Pack 2, je me retrouve avec le problème suivant:
> > > >
> > > > Un message d'erreur apparaît lorsque je demande l'exécution du code:
> > > >
> > > > With ActiveSheet.PivotTables(1).PivotFields("Date")
> > > > .PivotItems(3).Visible = True
> > > > .PivotItems("6-jan").Visible = True
> > > > End With
> > > >
> > > > Explications: le champ "Date" est la partie 'Jour' provenant d'un champ de
> > > > type 'date' regroupée en jour/mois/année.
> > > >
> > > > L'erreur intervient en ligne 2 et en ligne 3, ce n'est donc pas un problème
> > > > de format! De plus, cette macro a été écrite en mode 'Automatique' (sauf la
> > > > ligne 2). Je n'y comprends plus rien.
> > > >
> > > > Le message d'erreur est précisément:
> > > > Sur ligne 2: "Impossible de définir la propriété Visible de la classe
> > > > PivotItem"
> > > > Sur ligne 3: "Impossible de lire la propriété PivotItems de la classe
> > > > PivotField"
> > > >
> > > > Si vous pouviez m'aider, ça serait super!! Je compte sur vous