Problème de macro pour un tableau croisé dynamique

  • Initiateur de la discussion Initiateur de la discussion vbbeginner
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

vbbeginner

Guest
Bonjour à toutes et à tous !

Je cherche de l'aide dans l'écriture d'un code pour créer un tcd avec des filtres.

Une fois que j'ai disposé les champs en page, en ligne et en colonne, je souhaite selectionner certaines données en fonction d'un champ date.

J'ai préparé une boucle for next avec une condition sur le pivotitem mais ça ne marche pas : c'est du genre :

For i =1 to 30
if year(range("O" & i))="2012" then
Activesheet.pivotables.pivotfields (je n'ai plus la syntaxe exacte en tête)
.pivotitem(range("O" & i).visible=true
end if
next i

Mais ça me renvoie un message d'erreur disant qu'il ne parvient pas à lire la propriété du pivotitem.

Le but est d'éviter de selectionner les dates à la main dans le tcd complet !

Merci infiniment pour votre aide précieuse car je galère depuis plusieurs jours la dessus !
 

Pièces jointes

Re : Problème de macro pour un tableau croisé dynamique

Bonjour,

Tu pourrais fournir un fichier exemple cohérent avec tes explications.

1) Tu parles de dates et tu poses une autre question dans ton fichier : Utiliser un filtre élaboré et faire du critère une variable . De plus sur un pays...

Code:
For i =1 to 30
       if year(range("O" & i))="2012" then
2) Aucune feuille n'a de données en O (en plus tu ne dit pas quelle feuille donc il faut toutes les regarder...)
3) Ton code est pour des données en colonne et les seules date qu'on trouve sont en ligne.

Pas très sérieux tout ça...
Regardé 34 fois : 0 réponses

eric
 
Re : Problème de macro pour un tableau croisé dynamique

Merci Eric pour ta réponse !

Effectivement, je parle de deux fichiers différents entre le code et le fichier en PJ.

Le véritable fichier est très long et se trouve à mon job ; c'est pourquoi, j'ai voulu faire un fichier plus petit avec des références qui ne sont pas cohérentes (colonne O). Mais le problème restait le même.

Entre temps, j'ai trouvé la cause du problème : je voulais ne faire apparaître sur mon tcd que des infos correspondant à un intervalle de temps ; mais mon champ date était mis en champ de page et non en étiquette de ligne ou de colonne, ce qui ne me permettait pas de faire un filtre chronologique.

Par contre, un autre problème demeure : je ne parviens pas à paramétrer les dates d'intervalles qu'en données réelles (et non en variable) : value1:="01/01/12", value2:="30/09/12".

Or j'aimerais plutôt écrire :

dim a as date
dim b as date
a=range("A1")
b=range("B1")

puis création du tcd avec les intervalles de temps : value1:=a, value2:=b

Cependant, ça ne marche pas...


Comme mon pseudo l'indique je suis un débutant dans le vb donc, un peu d'indulgence !!

A+ !
 
Re : Problème de macro pour un tableau croisé dynamique

Bonsoir,

Désolé mais je ne vois nulle part dans ton fichier value1:=xxx value2:=yyy
De plus les TCD en VBA ne sont pas vraiment ma spécialité. Je voulais surtout attirer ton attention sur ton fichier incohérent avec les explications, ce qui pouvait expliquer que tu n'avais eu aucune réponse.
Je t'invite à reposer ta nouvelle question dans un fil tout neuf.
Et surtout avec le fichier qui va bien et le code qui va avec.
Parce que là on ne sait pas du tout le contexte ni d'où sortent ces 2 lignes 2 codes... Que veux-tu qu'on en dise ???
(sinon même punition, nul n'est devin : pas de réponse...)

eric
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
910
Réponses
2
Affichages
527
Réponses
7
Affichages
829
Retour