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

Ne traiter que les items visibles d'un champ de page

5 réponses
Avatar
René Delcourt
Bonjour le forum,

Je voudrais envoyer un graphique croisé dynamique dont le résultat dépend
du nom de l'item dans le champ de page.
Avec un For Each...cela fonctionne bien jusqu'à ce que cette routine
rencontre un item qui est décoché dans le TCD de base.
On error resume next résoudrait le problème s'il n'y avait pas de code avant
le prochain next!
Comment puis-je donc ne traiter que les items visibles?
Merci de votre coopération.
--
René Delcourt

5 réponses

Avatar
René Delcourt
Bonjour à toutes et à tous peu inspirés par ma question.

Il me semble que mon problème est insoluble.
Ou bien il est mal formulé!
Tant pis! Cela ne ternit en rien la qualité de ce forum.
--
René Delcourt



Bonjour le forum,

Je voudrais envoyer un graphique croisé dynamique dont le résultat dépend
du nom de l'item dans le champ de page.
Avec un For Each...cela fonctionne bien jusqu'à ce que cette routine
rencontre un item qui est décoché dans le TCD de base.
On error resume next résoudrait le problème s'il n'y avait pas de code avant
le prochain next!
Comment puis-je donc ne traiter que les items visibles?
Merci de votre coopération.
--
René Delcourt


Avatar
Misange
Bonjour à toutes et à tous peu inspirés par ma question.

Il me semble que mon problème est insoluble.
Ou bien il est mal formulé!
Tant pis! Cela ne ternit en rien la qualité de ce forum.
Ben oui y a des questions comme ça qui n'attirent pas les foules :-(

Plus sérieusement, tu peux traiter ton erreur : regarde la ficelle de ce
week end intitulée "passer au prochain dans une boucle for"
le fait que tu aies du code après ne t'empêche heureusement pas de gérer
l'erreur et de sauter l'item à problème, c'est surtout une question de
structure dans ta macro.
Reviens si tu ne vois pas comment faire et post le code de ta macro.
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
René Delcourt
J'aime quand le forum ne reste pas insensible...

Merci pour cette suggestion de fil qui concerne un "for X" et non pas un
"for each PI-pivotitem".
1. j'ai une base de données avec des noms et autres données
2. j'en fait un TCD et dans le champ "nom" (qui n'est pas encore un champ de
page) je ne coche que les noms qui m'intéressent.
3. je glisse le champ "nom" en champ de page.
4. je fais un graphique croisé dynamique et tous les noms cochés se
retrouvent dans le champ de page.
Jusque là, parfait!
Le code "for each pivotitem", lui, va chercher les items du TCD (qu'ils
soient cochés ou non!), donc plantage.

La solution consisterait à n'avoir que les items du champ de page "nom" du
graphique croisé dynamique.

En attendant, j'ai changé de stratégie en me basant sur une liste des noms
qui doivent apparaître...avec une légère frustration.

Une bonne soirée!

--
René Delcourt



Bonjour à toutes et à tous peu inspirés par ma question.

Il me semble que mon problème est insoluble.
Ou bien il est mal formulé!
Tant pis! Cela ne ternit en rien la qualité de ce forum.
Ben oui y a des questions comme ça qui n'attirent pas les foules :-(

Plus sérieusement, tu peux traiter ton erreur : regarde la ficelle de ce
week end intitulée "passer au prochain dans une boucle for"
le fait que tu aies du code après ne t'empêche heureusement pas de gérer
l'erreur et de sauter l'item à problème, c'est surtout une question de
structure dans ta macro.
Reviens si tu ne vois pas comment faire et post le code de ta macro.
--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net




Avatar
Misange
J'aime quand le forum ne reste pas insensible...

Merci pour cette suggestion de fil qui concerne un "for X" et non pas un
"for each PI-pivotitem".


ca ne m'avait pas échappé :-)
le principe reste le même : tu parcours une collection et un des item de
la collection plante ta macro car il renvoie une valeur d'erreur. Tu
dois gérer cette valeur d'erreur si tu ne peux pas modifier ta
collection pour qu'elle ne contienne que des valeurs valides.

Le code "for each pivotitem", lui, va chercher les items du TCD (qu'ils
soient cochés ou non!), donc plantage.
oui, donc il faut que tu traites cette erreur

si tu ne mets pas le code de ta macro, c'est difficile de t'aider.


En attendant, j'ai changé de stratégie en me basant sur une liste des noms
qui doivent apparaître...avec une légère frustration.


a toi de voir !

Une bonne soirée!
à toi aussi



--
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net

Avatar
isabelle
bonjour René,

With ActiveSheet.PivotTables("Tableau croisé dynamique1")
For Each pf In .PivotFields("nom").PivotItems
If pf.Visible = True Then
'action
End If
Next
End With

isabelle

J'aime quand le forum ne reste pas insensible...

Merci pour cette suggestion de fil qui concerne un "for X" et non pas un
"for each PI-pivotitem".
1. j'ai une base de données avec des noms et autres données
2. j'en fait un TCD et dans le champ "nom" (qui n'est pas encore un champ de
page) je ne coche que les noms qui m'intéressent.
3. je glisse le champ "nom" en champ de page.
4. je fais un graphique croisé dynamique et tous les noms cochés se
retrouvent dans le champ de page.
Jusque là, parfait!
Le code "for each pivotitem", lui, va chercher les items du TCD (qu'ils
soient cochés ou non!), donc plantage.

La solution consisterait à n'avoir que les items du champ de page "nom" du
graphique croisé dynamique.

En attendant, j'ai changé de stratégie en me basant sur une liste des noms
qui doivent apparaître...avec une légère frustration.

Une bonne soirée!