Ne traiter que les items visibles d'un champ de page
5 réponses
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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
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
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
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
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
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
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
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
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
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
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!
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.
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.