tableau très dynamique!!

  • Initiateur de la discussion Rhodan
  • Date de début
R

Rhodan

Guest
Boujours tous,
y'a pas de pont qui tienne pour les exceliens!

Quelle merveilleuse invention ces tableaux dynamiques, mais pas facile à
gérer!

mon pb si vous l'acceptez :
j'ai une base de donnée, un tableau dynamique et
j'aimerai que lorsque que l'on coche/décoche une checkbox un champ correspondant soit ajouté/retiré dans le tableau dynamique.

Mais, ça marche plus si il y a déjà un ou plusieurs champs dans le tableau (un pb de position, je crois).
bref pas facile à expliquer, je joint le classeur

merci à tous ceux qui se poseront surmon pb !!
 
C

Celeda

Guest
Bonjour,

Rhodan,

Ni pour les excelliennes je te rassure.

Nous acceptons ton probléme mais si tu joins ton fichier réellement on poura peut-être, être plus "dynamique'' pour t'aider.

dans l'attente,

Celeda
 
R

RHODAN PERRY

Guest
Rebonjour, bisard pourtant j'ai bien joint mon fichier ...
je recommence alors

(peut être que le nom de mon fichier contenait des espaces, et puis j'avais zipper avec winrar)
 

Pièces jointes

  • SuivitQualiteColorimetrie.zip
    45 KB · Affichages: 18
C

Celeda

Guest
Bonjour,

J'ai essayé de décortiquer ta demande ce matin et voilà ce que j'ai compris (et surtout corrige moi afin d'avancer) en fonction de ton fichier + des macros à l'intérieur :

- quand tu dis :

" que l'on coche ou décoche une chexcbox'' tu parles de celles que
tu as placées dans la colonne A
soit fournisseur, produit, mois, nojour, semaine.

- que cela entraîne un ajout ou un retrait dans le tableau dynamique.

Pour ma part, je pense que cela est faisable mais uniquement par macro sur la création pure et simple d'un tableau issu de ta base par procédure .

Les experts me corrigeront - mais cela n'a rien à voir avec ton TCD ("un pb de position").
Tout en sachant que le TCD a ses limites, donc il ne pourra afficher au delà de la mémoire disponible, tu peux mettre en évidence plusieurs champs.

Donc, pour résumer mon interprétation de ta question, si tu souhaites déclencher, selon les checkbox cochées, telles ou telles colonnes dans le TCD pour voir certains résultats en fonction des critéres souhaités, si ceux-ci n'excédent pas au-delà des possibilités de mémoire (plus simplement si tu lui demandes d'afficher au delà de sa capacité, il refusera), à mon avis il faut de l'aide de vba.

Le plus simple en réalité,

( car je trouve que ton exemple est une première sur XLD, je n'avais jamais vu cela avant donc je ne sais pas si cela est faisable jouer avec les checkbox sur un TCD directement, seuls les VBAMasters pourront le dire, on avait déjà essayé les formules matricielles et le TCD......., .),

serait de faire le tout en VBA, établir un petit cahier des charges qui dirait quelle colonne apparaîtrait selon la ou les checkbox cochées, le tout ''dynamiquement'', enfin selon mes yeux et ma modeste compréhension de la question.

à suivre, et n'hésite pas à apporter les correctifs à ma réponse si nécessaire afin que d'autres puissent t'aider car moi je joue dans la cour maternelle du vba.


Bon week-end
Celeda
 
R

RHODAN PERRY

Guest
Hello

(deux fois que je retappe le message à cause de ce portable de m....)

j'ai résolu mon pb de tableau dynamique en simplifiant le code et en le répétant pour chaque checkbox (la décochage retire le champ aussi) . Ca marche très bien sauf qu'il faut cocher les checkboxes dans un ordre opposé à l'odre voulut dans le tableau:

pour avoir :

Fournisseur 1
Mois 1
Mois 2
Mois 3
....
Fournisseur 2
Mois 1
Mois 2
Mois 3
....

Il faut d'abord cocher la checkbox "mois" et ensuite la checkbox "fournisseur"...
sinon ca donne :

Mois 1
Fournisseur 1
Fournisseur 2
...ect...


voici le code pour une checkbox + le dossier joint , aucas ou certaines personnesserait interrésées par l'idée et le code


Private Sub CheckBox1_Click()
If CheckBox1 = True Then
Range("B5").Select
With ActiveSheet.PivotTables("nom du tableau").PivotFields("Champ")
.Orientation = xlRowField
.Position = 1
End With
Else
Range("B8").Select
With ActiveSheet.PivotTables("nom du tableau").PivotFields("champ")
.Orientation = xlPageField
.Position = 1
End With
End If
End Sub



bye et à bientôt pour un nouveau pb c'est sûr!!!!
 

Pièces jointes

  • fichier.zip
    44.7 KB · Affichages: 27
  • fichier.zip
    44.7 KB · Affichages: 27
  • fichier.zip
    44.7 KB · Affichages: 30

Discussions similaires

Réponses
2
Affichages
169

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400