Switch tableaux croisé dynamique via vba

Fermé
gl0ugl0u Messages postés 24 Date d'inscription mardi 22 mai 2018 Statut Membre Dernière intervention 29 mai 2024 - 28 juin 2022 à 18:50
gl0ugl0u Messages postés 24 Date d'inscription mardi 22 mai 2018 Statut Membre Dernière intervention 29 mai 2024 - 30 juin 2022 à 12:38
Bonjour à tous,
Je panne complètement sur la méthode pour switcher entre deux tcd sur la même feuille en fonction d'un sélecteur type liste de validation de données.
L'idée est d'afficher un tableau ou un autre en fonction du choix de la liste. Avec bien sûr la dernière mise en forme du tcd connue.
Quelqu'un aurait une solution ? Est-ce seulement faisable? ????
Merci d'avance !

2 réponses

via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 735
Modifié le 29 juin 2022 à 16:43
Bonjour

Cela doit être faisable
Essaie avec l'enregistreur de macro de créer le premier tableau sur la feuille retour puis de l'actualiser
Ensuite avec l'enregistreur tu crées de la même manière le second tableau et tu l'actualises

Enfin dans ta feuille retour tu places ta liste déroulante donnant le choix entre tableau1 et tableau2 puis dans le worksheet de la feuille retour tu associes une macro à la modification de la cellule de la liste déroulante, macro qui efface d'abord les lignes de la feuille en dessous de la liste déroulante puis lance la macro1 ou la macro2 selon le choix effectué

Exemple de ce qui est possible
https://www.cjoint.com/c/LFDoMONhokJ

Il faut juste en début de chaque macro enregistrée rajouter une lligne de code qui va déterminer la dernière ligne du tableau dont on va tirer le TCD :
  ligne = Sheets("Feuil4").Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row

puis dans le code créant le TCD modifier les références en dur type R1C2:R10C4 par une référence faisant intervenir cette variable :,
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"Feuil4!R1C2:R" & ligne & "C4",


Cdlmnt
Via

0
gl0ugl0u Messages postés 24 Date d'inscription mardi 22 mai 2018 Statut Membre Dernière intervention 29 mai 2024
30 juin 2022 à 12:38
Merci beaucoup pour ton aide !
J'essaie de tester au plus vite (pas évident là, au mieux mardi/mercredi prochain...) et je te ferai un retour.
0