COMMENT COCHER TOUTES LES CASE D'ITEMS DANS UN TABLEAU CROISE

  • Initiateur de la discussion VALERIE
  • Date de début
V

VALERIE

Guest
Bonjour,

Pourriez-vous m'indiquer une solution pour cocher toutes les cases d'une sélection dans un tableau croisé. En effet après avoir décocher qques cases dans une sélection, revenir en arrière pour les reactiver est long et fastidieux

Encore merci de votre réponse..

Valérie
 
C

Celeda

Guest
Bonjour,

Dan, je pensais justement à toi.

En fait, j'ai le même probléme que Valérie : quand je décoche sur 100 références, plus de la moitié des références,pour ne laisser qu'apparaître que celles qui m'interessent, je mets deux fois plus de temps à les réactiver quand je souhaite ressortir d'autres résultats.

J'ai cherché en vain un moyen radical de toutes les remettre cochées mais je n'ai pas trouvé.
Et j'ai essayé select , mais cela ne fonctionne pas à moins que je fasse mal une action.

J'ai essayé même de refaire vite fait le TCD en reprenant du début. Si tu as la malchance de laisser ton TCD, avec des champs décochés, lui n'a pas oublié et tu te retrouves encore avec tes champs décochés.

J'ai essayé une macro avec l'enregistreur de macros, mais là aussi cela beug. Certainement parce qu'il faudrait une macro ''standard'' que l'on pourrait modifier au gré de nos demandes qui irait tout réinitialiser le TCD avant le ''décochage'' des cases.

Je ne sais pas si j'ai été claire mais Valérie confirmera peut-être si c'est cela qu'elle rencontre.

Merci
Celeda
 
C

Celeda

Guest
Bonjour,

Tel que désiré, tu trouveras un TCD tout en bonbon acidulé, couleur du jour de la semaine de Celeda.

Donc, je n'ai pas trouvé l'option qui permet de réinitialiser d'un seul coup les champs cochés.
C'est peut-être tellement évident que je ne le voie pas.

Merci.

Celeda
 

Pièces jointes

  • Coche_TCD.zip
    27.1 KB · Affichages: 60
M

Mytå

Guest
Salut a Tous

Celeda une macro qui devrait faire l'affaire

Option Explicit
Sub TCD_Reset()
Dim Nbre_Tables As Byte, Tables As Byte
Dim Nbre_Champs As Byte, Champs As Byte
Dim Nbre_Pivots As Byte, Pivots As Byte
Nbre_Tables = ActiveSheet.PivotTables.Count
For Tables = 1 To Nbre_Tables
Nbre_Champs = ActiveSheet.PivotTables(Tables).PivotFields.Count
For Champs = 1 To Nbre_Champs
Nbre_Pivots = ActiveSheet.PivotTables(Tables).PivotFields(Champs).PivotItems.Count
For Pivots = 1 To Nbre_Pivots
With ActiveSheet.PivotTables(Tables).PivotFields(Champs)
.PivotItems(Pivots).Visible = True
End With
Next Pivots
Next Champs
Next Tables
End Sub

Mais il y a un probleme dans le TCD2 meme manuellement je ne peux
cocher tous les champs.

A suivre Mytå
 
C

Celeda

Guest
Bonjour,

Merci Mytå :

- cela fonctionne mais j'ai un petit hic à la fin de la procédure sur '''PivotTables. visible..........derniere ligne de la procédure.
mais cela affiche tout - bizarre.

Et puis qu'est-ce que tu en penses si l'opération de ramener tous les champs se faisait ni vu ni connu, c'est-à-dire que l'on voie rien se passer ?

Quant au TCD2, je ne comprends pas comment tu ne peux pas le faire ;
si tu vas dans les filtres PN et World, tu décoches en cliquant dessus.
Chez moi cela marche. Mytå appuies-tu sur le bon bouton, pas celui du bout du nez.......Merci Mytå.


Celeda
 
B

beginner

Guest
Bonsoir à vous tous,

Essayez ce petit programme assez simple qui devrait vous sortir de l'embarras, il marche, je l'ai testé..



Sub MAJ_TCD()

'Dans un premier temps, établissez un 1er TCD que je nommerai "WWW" de votre base d'origine..
'Tous les items de votre colonne en question devront être cocher
'Votre TCD dont les cases sont à cocher sera sur la même feuille




Dim x As String, y As String
Dim i As Integer, ligne As Integer


On Error GoTo 1

With ActiveSheet.PivotTables("XXX").PivotFields("ZZZ")
'XXX = nom du TCD dont les items sont à cocher
'ZZZ = libellé de la colonne dont les items sont à cocher

For i = 3 To 10000 '3 = ligne où se trouve la 1re valeur du TCD (base d'origine)
'10000 = nombre de lignes du TCD lorsque toutes
'les valeurs y sont affichées, ne pas hésiter donc à y mettre
'un très grand nombre (le programme ne buggera pas en raison
'de la fonction - on error goto -)

x = Range("d" & i).Value ' x = 1re valeur du TCD "WWW"
' d = colonne qui représente nos items
.PivotItems(x).Visible = True 'chaque item est coché !

Next i

End With
1 MsgBox "TOUTES LES CASES ONT ETE COCHEES AVEC SUCCES.."

End Sub


A+

Beginner (stéphane solivaret)
 
D

Dan

Guest
Re,

Celeda, peux-tu m'expliquer comment tu as créé le TCD2.

A titre d'exemple j'ai créé le TCD 4 en prenant comme référence le TCD 1. Tu peux constater que tous les éléments y sont sauf "Europe" dans World que j'ai coché.

Je pense que la philosophie est la suivante, lorsque tu fais un TCD, tu choisis des options et tu considères qu'elles ne changent pas. SI tu souhaites les changer, le mieux est d'utiliser une macro (comme celle de Myta, c'est vrai qu'il ya un bug à un moment) ou tu fais un 2ème TCD à titre de variante (par exemple pour avoir toutes les valeurs ou cacher autre chose).

D'autre part, un TCD doit être vu comme un ensemble de champs que l'on souhaitent montrer et desquels tu peux constituer un graphique qui ne montre qu'une partie des valeurs enregistrées (par exemple).
Si maintenant tu souhaites montrer autre chose, le mieux est de constituer un autre TCD qui tire ses valeurs d'un 1er TCD.
On pourrait même pousser la constitution d'un 3ème TCD en y incorporant des nouveaux champs calculés sur base des valeurs trouvées dans les deux premiers. Là, tu comprends qu'il vaut mieux ne pas vouloir à tout prix montrer ce que tu as voulu cacher dans un 1er temps.


@+

Dan
 

Pièces jointes

  • download.ZIP
    38 KB · Affichages: 58
  • download.ZIP
    38 KB · Affichages: 45
  • download.ZIP
    38 KB · Affichages: 49
M

Mytå

Guest
Re les TCDistes.

Une version 2 sans visualisation de la remise a zero des TCD et sans message d'erreurs.

Reste quand meme le bogue sur le TCD2 qui m'empeche d'activer la case
US dans (WORLD).

Mytå
 

Pièces jointes

  • Coche_TCD2.zip
    32.3 KB · Affichages: 67
C

Celeda

Guest
Bonsoir,

DAN et MYTå, Valérie (where are you?), Beginner & the Forum

1 - Celeda, peux-tu m'expliquer comment tu as créé le TCD2.

Dan : quand je refais un TCD pour exemple , je fais un copier coller du premier et je coche ou décoche mais la plupart du temps voilà ma technique pour mon travail :

je fais un seul TCD et j'ouvre une feuille Résultat
je colle dedans le resultat escompté par une demande X

(mais je sais ce qui t'embête Dan, je l'ai trouvé hier au soir, voir plus bas la suite.... point 3..)


2- Je n'utilise pas encore les macros pour les TCDs mais ton approche est bonne.
En fait je n'ai pas besoin de créer plusieurs TCDs, car je me sers du même en décochant ou recochant ou en ajoutant des champs et/ou en mettant des formules dedans (arf ma galére!!!).
Je gagne un temps fou. Simple et rapide.
Et ensuite en fonction du résultat obtenu, je copie tout simplement dans ma feuille résultat. Ce qui permet aux non-initiés du TCD d'avoir des tableaux différents nickel dans une belle feuille dans laquelle je fais des groupes pour illustrer les différents résultats ; CA / NB eqts par site/ cout / prix ....bref une panoplie de stats avec un seul TCD. Et une seule feuille circule et moi j'ai mon TCD de travail avec mes coches ou mes décoches et mes formules.


3- Suite au Chat que j'ai eu avec Mytå, et je te demande à l'avance de me pardonner, Dan, j'ai entrevu la difficulté que tu rencontrais.

En fait, un TCD a besoin d'espace donc :

j'ai collé mon TCD3 trop prés du TCD2 (par habitude) donc quand tu demandes de décocher Europe par exemple, il ne veut pas.
Il a besoin d' E S P A C E.

Il ne faut donc pas coller LES TCDs trop prés les uns des autres.
Et en discutant avec Mytå, je me suis souvenu de cela aussitôt.

Et c'est pour cela aussi que la macro beugait. Elle s'exécutait mais bloquée sur le même probléme.

Nous avons refait en live les manips en déplacant le TCD 3 de quelques lignes et tout s'exécute à merveille.
Voilà pourquoi toi et Mytå avaient la même situation gênante et veuillez m'excuser.

De l'ESPACE, Dan. Nous avons la chance d'avoir l'ESPACE XLD pour nous échanger nos idées. Merci à vous deux.

Beginner je n'ai pas testé ta macro mais je le ferai.Merci

J'éspere que tout cela aura pu aider Valérie.

Celeda
 
M

Mytå

Guest
Bonsoir tardivement a tous

Beginner cela pour un seul TCD sur la feuille
et en plus on doit savoir le nom et le libellé
avec
With ActiveSheet.PivotTables("XXX").PivotFields("ZZZ")
'XXX = nom du TCD dont les items sont à cocher
'ZZZ = libellé de la colonne dont les items sont à cocher

J'ai travailler en Chat Avec Celeda et elle la dis espace espace
le TCD a besoin

J'essaye de recuperer la longueur pous depalcer l'autre le TCD3

Mytå

Merci Celeda pour l'aide tu ma donner en Chat se soir
 
D

Dan

Guest
Bonjour Celeda, Myta, Valérie, Beginner,

First of all , come Celeda ----> Valérie where are you ?

Celeda,

1. Ah, j'ai compris et tu avais bien vu ce qui me tracassait.

2. C'est une manière de travailler intéressante. Moi je construis les TCD plutôt en partant de la même source de données (TCD ou base de données)
Mais je comprends ce soit plus rapide et efficace (notamment pour XLD) si l'on procède comme tu les fais.

3. OK je n'y avais pas pensé mais c'est vrai, j'avais déjà rencontré ce problème en construisant plusieurs TCD sur une même feuille. Là il faut bien avouer qu'il vaut mieux préparer son coup sinon tu n'as que des problèmes et souvent il faut revoir la mise en page. Où alors on place tous les TCD l'un en dessous de l'autre (et là encore si tu as des données qui nécessitent plus d'espace, tu as des problèmes de largeur de colonne, aie !!) ou sur feuilles séparées.

Désolé de répondre maintenant mais mois à 4H du mat, je dormais paisiblement. Maintenant c'est à votre tour

Faudrait peut-être penser à faire un XLD TCD, lol...!!

@++

Dan
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon