| ||||||||
Petit astucien | Dans le fichier joint, j'ai une feuille 'base de donnees', je souhaite extraire des données de cette feuille suivant des critères de tri et aller les placer dans une autre feuille. http://www.cijoint.fr/cjlink.php?file=cj201006/cij2QbM90K.xls Merci a vous | |||||||
Publicité | ||||||||
| ||||||||
![]() ![]() | bonjour dommage que tu n'es pas précis sur les critéres de sélection de tes données à extraire mais comme ton fichier est filtrée fais appel aux différents filtres puis copier les données filtrées puis colllage spécial et coller tout ou les valeurs à l'endroit voulu | |||||||
Petit astucien | Hello, merci de ta réactivité! Ce que tu me propose, je sais faire. par contre comme je l'ai indiqué, je souhaite que l'affichage se fasse automatiquement. Les critères de selection sont dans les différentes feuilles contenues dans le fichier. pat | |||||||
![]() | bonjour, Ben, pour moi c'est quand même typiquement du domaine des TCD (Tableaux Croisés Dynamiques) que même un novice devrait être capable de manipuler après quelques minutes d'explications. Car ce sont des TCD élémentaires. YORA juste quelques calculs de pourcentage à rajouter et bricoler la mise en forme car les TCD sont un peu spartiates coté look. Mébon. Je ne vois pas d'autres solutions. Tu fais peut-être un blocage sur les TCD ? parce que YFOPAPLUS de 30 secondes par tableaux pour sortir tes chiffres avec des TCD. Quand à l'actualisation des TCD c'est encore plus rapide : YAKA savoir cliquer sur le point d'exclamation de la barre de menu ! Toutes autres solutions seraient sans aucun doute beaucoup plus gourmandes en savoir faire... Tu veux un petit massage de neurones sur le thème des TCD ou quoi ? Je ne comprend peut-être pas bien le sens de la question. En tout cas je ne vois rien dans ce classeur qui nécessite le moindre FILTRE, SOUS TOTAL ni autre fonctions RECHERCHEV ou autre. A+ | |||||||
Petit astucien | Ok je suis d'accord, les TCD sont adapté dans ce cas.
Par contre l'utilisateur lambda à qui est destiné les données contenu dans les TCD sera totalement infoutu d'en faire un (même avec des explications) parce que ce n'est pas son métier.
J'essai d'automatiser par une macro la "fabrication" de TCD et là ça bloque. J'ai le débogueur qui se mets en alerte: ub tcd()
En fait ma feuille où doit apparaitre le TCD existe déjà. Donc la macro doit d'abord supprimer tous les résultats précédents puis refaire un TCD dans cette même feuille car la base de donnée est évolutive donc l'utilisateur exécutera plusieurs fois la macro.
Je remets un fichier simplifier pour exemple. http://www.cijoint.fr/cjlink.php?file=cj201006/cijJAVejQl.xls Merci | |||||||
![]() | bonjour, Personnellement je ne m'embarrase pas de ce genre de complications. Je ne reconstruit pas le(s) TCD je les laisse dans un coin YAPUKA faire une Sub Actu() Tu appelles ça dans ton Workbook_Open (ou à la fin ta macro de mise à jour des données) et le tour est joué tu as des TCD toujours à jour. YA juste à faire une macro qui automatise le transfert des données vers "TonBeauTableauDePrésentation" personnellement je me contenterai d'une formule : =LIREDONNEESTABCROISDYNAMIQUE... (avec une formule nommé ?) comme sur l'exemple ci-joint (Feuille Tri par zone) Ne pas tenir compte des erreurs car j'ai modifié certaines lignes de la BDD pour les tests... Attention seulement à définir ta base de donnée de manière dynamique (Insertion / Nom/ Définir...) pour que le refresh fonctionne correctement. Sinon si tu tiens absoluement à te compliquer la vie... ActiveWorkbook.PivotCaches.Add(...) avant de : With ActiveSheet.PivotTables("Tableau croisé dynamique13").PivotFields("Zone")... Mais je te déconseille cette méthode... (sauf si tu ne peux faire autrement !) Tu regardes et tu me dis... A+ | |||||||
Petit astucien | Salut Galopin01,
J'ai suivi tes conseils et fait des TCD. C'est top!
Par contre, comment faire pour qu'il me garde la mise en forme une fois que j'ai actualisé les données? J'ai décoché "mise en forme automatique" dans les options du tableau, il me garde la largeur des colonnes mais pas le reste (format de police, format de cellule)
Y'a un moyen? | |||||||
![]() | bonjour, Je ne pense pas que cela soit possible. Sauf à monter des macros bien compliquées. Personnelement je n'utilise pas les TCD directement. Ils ne me servent qu'indirectement d'outils de travail. Personne ne t'oblige à expliquer au gens que la mise à jour concerne un TCD caché... Je récupère ensuite les données via une formule (nommée) =LIREDONNEESTABCROISDYNAMIQUE dans le tableau de présentation ou les données sont bien plus facile à exploiter comme j'ai fait dans ma démo. Remarque bien que si tu veux trier ensuite le tableau de présentation sur la colonne S ( pourcentages) par exemple, c'est possible. Alors qu'un TCD ne le permettrait pas. ( tu ne peux trier que les étiquettes ) A+ | |||||||
Petit astucien | D'ac. J'ai pas compris comment marchait ta formule unique =MAJD? | |||||||
![]() | bonjour, Si tu cliques en C5 et que tu regardes dans Insertion / Nom / Définir tu verras que ce nom correspond à cette formule : =LIREDONNEESTABCROISDYNAMIQUE("Délégataire";'Tri par zone'!$B$31;"Zone";COLONNE()-2;"Délégataire";'Tri par zone'!$B5) Tu peux donc remplacer dans la cellule C5 par cette formule si tu préfères... Ensuite YAPUKA faire un copier de cette formule dans toutes les cellules ou tu veux ramener les données. La formule s'incrémente automatiquement... mais il est plus pratique d'utiliser = MAJD que toute cette longue formule. (enfin à mon avis... c'est pour ça que je le partage !) De plus si tu macrotes un peu... il est facile d'écrire : Range("C5:Q1"). Formula = "=MAJD" Ce qui serait presque impossible si tu voulais traduire ça dans la formule d'origine pour l'incrémenter. En plus, toujours si tu macrotes un peu... il est très simple de faire -tout de suite après -un collage spécial valeur et tu as avec une macro de trois lignes un tableau impeccable sans la moindre formule... Nota : Pour faire une formule nommée,c'est très simple : fais d'abord la bonne formule KIVABIEN en C5, vérifie qu'elle s'incrémente parfaitement partout. Ensuite toujours en C5 tu récupères la formule dans la barre de formule. Tu cliques sur Insertion / Nom / Définir tu choisis le nom qui te convient et dans la zone "fait référence à" tu colles la formule. YAPUKA valider et remplacer dans toutes les cellules la longue formule par le nom bref que tu as choisi... Important : Pour l'utilisation de formules nommées. Celles ci se regardent, se copient et se collent en prenant bien soin de travailler à partir de la cellule de référence. Si tu établies ta formule à partir de la cellule C5 et que tu la nommes à partir de la cellule D5 par inadvertance... ça marchera beaucoup moins bien En revanche une fois le nommage bien expédié c'est cool. Plus de risque d'erreur ou de modification accidentelle de ta formule. En plus c'est Excel qui se tape tout le boulot... Il y a bien d'autres avantages aux formules nommées. Mais déjà avec ça, tu as de quoi méditer ! A+ Modifié par galopin01 le 15/06/2010 01:14 | |||||||
Petit astucien | Merci. C'est du lourd! Je m'en vais de ce pas acheter le manuel du petit sophrologue illustré et je médite tous ça. | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|