Parametrage automatique pivotitem dans tableau croise dynamique

Fermé
esterkarl Messages postés 2 Date d'inscription dimanche 2 février 2014 Statut Membre Dernière intervention 3 février 2014 - Modifié par jipicy le 2/02/2014 à 08:39
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 19 déc. 2014 à 16:49
Bonjour à toutes et à tous,

je cherche à paramétrer automatiquement des Tableaux croisés dynamiques dans un classeur Excel, à partir d'une valeur inscrite dans une cellule ...

j'essaie d'utiliser le code suivant ... s'il voulait bien marcher :

Sub Macro1()
'
Dim pi As PivotItem
'recup de la date a afficher dans le tcd
Dim MAJdate As String
MAJdate = Range(f1).Value
'déselectition de tous les pivotitem du tcd
    With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields( _
        "date debut intervention")
        For Each pi In .PivotItems
                 pi.Visible = False
        Next pi
    End With
'affichage du pivot item souhaité ...
    With ActiveSheet.PivotTables("Tableau croisé dynamique7").PivotFields( _
        "date debut intervention")
        .PivotItems(MAJdate).Visible = True
    End With
    
End Sub


enfin ... il me plante un
"erreur d'execution 1004
impossible de définir la propriété visble de la classe pivotitem"

j'ai tourné dans tous les sens, mais là ... c'est plus fort que moi (qui suis un peu faible, il est vrai!)
l'un(e) d'entre vous a t il une idée ???
merci d'avance!

Charly

3 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
2 févr. 2014 à 08:48
Bonjour,

si f1 n'est pas une variable mais une cellule, mettre les doubles cotes

MAJdate = Range("f1").Value
0
esterkarl Messages postés 2 Date d'inscription dimanche 2 février 2014 Statut Membre Dernière intervention 3 février 2014
3 févr. 2014 à 08:32
Salut et merci pour ta réponse,
cette petite erreur a été corrigée (je crois que ca s'était fait automatiquement, en fait!)
par contre, c'est sur le pi.Visible = False
que le debogueur me renvois un message
"erreur d'execution 1004
impossible de définir la propriété visble de la classe pivotitem" ...

une autre idée ?
merci d'avance!
charly
0
NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
Modifié par NightProwler01 le 18/12/2014 à 11:38
Bonjour

J'ai le même problème, j'en ai identifié la cause : c'est un problème de format lié au fait que ce soit une date (dd/mm/yyyy ; quand je teste avec un Pivot.Item alphabétique je n'ai pas de problème).

Je ne trouve pas de solution... je suis preneur de toute aide. Précision : je suis sous Excel 2007.

Pour info, voici une partie de mon code (la variable "mesmois" contient plusieurs dates sous la forme dd/mm/yyyy, la comparaison avec le PivotItem fonctionne parfaitement) :

    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Début")

Dim P_I As PivotItem
For Each P_I In .PivotItems
trouve = 0
For j = 1 To nbmois
If P_I = mesmois(j) Then trouve = 1

If trouve = 1 Then P_I.Visible = True
Next j

If trouve = 0 Then P_I.Visible = False
Next



Arnauld.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
18 déc. 2014 à 11:45
Bonjour,

Faudrait votre fichier car je ne peux rien sans lui !!!!!!!!!!!!!!!!!!
0
NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
18 déc. 2014 à 16:07
Bonjour

je suis en train de faire un classeur exemple et dadans ça marche...
Je continue donc de creuser un peu.
Il faut aussi que je regarde comment envoyer un fichier...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 743 > NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
Modifié par pijaku le 18/12/2014 à 16:10
Bonjour,
Juste de passage pour :
Pour transmettre un fichier, il faut passer par un site de pièce jointe tel que cjoint.com

Va sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
Modifié par NightProwler01 le 18/12/2014 à 17:53
Bon, je tourne en rond, voici une version light de mon fichier de départ.

C'est au moment du .Visible=False ou True que ça ne veut pas....

https://www.cjoint.com/?3Lsrje5fkcd


Précision : lancer d'abord la macro SELECT_CUMUL (pour alimenter la variable "mesmois") puis MAJ_TCD.

Merci d'avance pour l'aide. Et merci @pijaku
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 18/12/2014 à 18:58
Bonjour,

Apres quelques recherches et modif, fichier modifie:

https://www.cjoint.com/c/DLstbBmgYYg

coche mois choisi: ai repris le code sous un angle different
ai trouve probleme de format date: convertir en dates choisies en anglais (assez frequent avec EXCEL ou ACCESS)

A+
0
NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
19 déc. 2014 à 10:17
Bonjour

Merci, j'ai bien compris l'approche (j'avais testé CDate mais je ne savais pas m'en servir).

En revanche, j'ai toujours la même erreur (1004, impossible de définir la propriété visble de la classe pivotitem) en arrivant à ".PivotItems(i).Visible = True", aussi bien dans mon fichier d'origine que dans celui que tu m'as renvoyé.

Voici un fichier test du même type dans lequel tout fonctionne : https://www.cjoint.com/?3LtkueMkp6G

Je ne comprends pas...

Merci et merci d'avance pour l'aide.
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
19 déc. 2014 à 11:21
Bonjour,

Ben, ca marche pas chez moi avec ce type de programmation, c'est pour cela que j'en avais change !!!!!!!!!!

Ai recupere le fichier que j'avais mis a dispo et ca marche !!!!!
0
NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
19 déc. 2014 à 11:58
Waw! Et moi j'arrive à en faire un qui marche et l'autre qui ne marche pas!!
Bienvenue dans la 4ème dimension!
Bon, je reprendais ça en 2015! ;-)

Merci pour ton aide en tout cas, j'ai appris des choses.
0
NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014 > NightProwler01 Messages postés 7 Date d'inscription jeudi 18 décembre 2014 Statut Membre Dernière intervention 19 décembre 2014
19 déc. 2014 à 15:22
J'ai recommencé dans un nouveau classeur, tout fonctionne... BREF...
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
19 déc. 2014 à 16:32
Re,

Mais c'est peut-etre que nous sommes deja en 2015 et nous n'avons pas vu le temps passer!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0