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
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
A voir également:
- Switch tableaux croisé dynamique via vba
- Tableau croisé dynamique - Guide
- Liste déroulante dynamique excel - Guide
- Recherchev dans tableau croisé dynamique - Forum Excel
- Le nom du champ de tableau croisé dynamique n'est pas valide - Forum Excel
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. - Forum Excel
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
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 :
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 :,
Cdlmnt
Via
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
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
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.
J'essaie de tester au plus vite (pas évident là, au mieux mardi/mercredi prochain...) et je te ferai un retour.