Création d'un tableau croisé dynamique

Fermé
shane137 Messages postés 129 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 10 juillet 2018 - 30 juin 2014 à 16:48
shane137 Messages postés 129 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 10 juillet 2018 - 8 juil. 2014 à 08:23
Bonjour,

Je souhaite créer un TCD à partir d'un tableau de données sous excel.

J'ai un tableau de 14 colonnes et d'environ 1000 lignes, les entêtes de chaque colonne sont des "tiroirs" (de 1 à 14) et, en dessous de chaque entête, j'ai une série d'objets (on retrouve plusieurs fois le même objet dans les tiroirs et un même objet peut être présent dans plusieurs tiroirs).

Comment faire un tableau avec les tiroirs en entête de colonne, les objets en entête de ligne, et dans le tableau le nombre d'occurence de chaque objet par tiroir ?

Je cherche côte TCD, je sélectionne tout le tableau, j'ai les tiroirs de 1 à 14 "champs à inclure dans le rapport" mais à partir de là je bloque...

Merci pour votre aide.

Shane

10 réponses

Raymond PENTIER Messages postés 58720 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 novembre 2024 17 233
1 juil. 2014 à 05:26
Commence par envoyer ton fichier Excel.
0
shane137 Messages postés 129 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 10 juillet 2018 2
1 juil. 2014 à 20:29
0
via55 Messages postés 14495 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 7 novembre 2024 2 734
1 juil. 2014 à 22:32
Bonsoir

En attendant la solution de Raymond (que je salue bien au passage) par TCD, un essai sans TDC mais avec une petite macro qui a d'abord permis de relever tous les noms différents du tableau
Ensuite classement de la colonne et formules NB.SI pour comptabiliser
Les totaux en rouge sont ceux d'objets présent dans plusieurs tiroirs

https://www.cjoint.com/?0GbwCeXG7YG

Cdlmnt
0
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 7 239
1 juil. 2014 à 23:32
Bonjour à tous,

Ton besoin ne peut être traité par TCD, ton tableau ne s'y prête pas.

Autre proposition en vba. Plus rapide que celle de via (0.04 s contre 37 s), le rafraichissement se fait lorsque tu actives Feuil2
https://www.cjoint.com/c/DGbxF032aoK

eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Raymond PENTIER Messages postés 58720 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 novembre 2024 17 233
2 juil. 2014 à 00:38
Bonjour Shane.

Éric a raison : TCD signifie Tableau Croisé Dynamique.
Il croise donc les informations horizontales et verticales ; or tu n'as pas, à gauche de ta feuille, une colonne qui puisse identifier chaque ligne ! Ton unique repérage, ce sont les colonnes identifiées en ligne 1 : on ne peut donc rien croiser ...
0
Raymond PENTIER Messages postés 58720 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 novembre 2024 17 233
Modifié par Raymond PENTIER le 2/07/2014 à 03:15
De son côté, mon ami via55 t'a proposé une macro pour éliminer les doublons ; si tu es allergique à VBA, la méthode "manuelle", un rien fastidieuse, est la suivante :
* Recopier Feuil1 et appeler "Objets" la feuille obtenue.
* Sélectionner D3:D1000 ; il y a 683 cellules remplies ; faire Données/Supprimer les doublons/Continuer avec la sélection en cours/Supprimer les doublons/OK : le message "986 valeurs en double trouvées et supprimées. Il reste 12 valeurs uniques" s'affiche. Valider.
* Sélectionner E3:E1000 ; il y a 786 cellules remplies ; faire Données/Supprimer les doublons/Continuer avec la sélection en cours/Supprimer les doublons/OK : le message "990 valeurs en double trouvées et supprimées. Il reste 8 valeurs uniques" s'affiche. Valider.
* Continuer de même pour les colonnes F (10 valeurs uniques), G (20 VU), H (13), I (7), J (8), K (10), M (21), N (36), O (24).
* Sélectionner B2:O2 et faire <ctrl+K> pour remplacer "TIROIR " par "TIR" ; on obtient "TIR1" en B2, "TIR2" en C2 etc...
* Sélectionner B2:O37 et faire Formules/Noms définis/ Depuis sélection, dé-sélectionner l'option Colonne de droite, pour ne conserver que l'option Ligne du haut ; valider. Le fichier comporte désormais 14 noms définis, qui pourront servir par exemple à créer des listes déroulantes de cellule.

Et toujours comme l'a recommandé via55, la fonction NB.SI permettra de décompter les objets, tiroir par tiroir :
* Sélectionner B2:O2 ; faire Copier.
* De retour dans Feuil1, se placer en Q2 et faire Coller ; ajuster les colonnes Q:AD à 44 pixels de large.
* En Q3 faire Données/ Validation des données/Options/Autoriser : Liste ; dans la fenêtre Source saisir =INDIRECT(Q2) ; valider ; recopier jusqu'en AD3.
* En Q4 saisir =NB.SI(B:B;Q3) à recopier jusqu'en AD4.
* En T3 on choisit KCO : 3 s'affiche en T4 ; avec FAR en AB3, 16 s'affiche en AB4 ...
https://www.cjoint.com/?DGcdm2k1Krp

Salut à tous.
C'est bien, la retraite ! Surtout aux Antilles ... :-)
? Raymond (INSA, AFPA, CF/R)?
0
shane137 Messages postés 129 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 10 juillet 2018 2
3 juil. 2014 à 08:29
Bonjour,

Tout d'abord merci pour toutes vos réponses.

Je suis d'abord la méthode de Raymond : pas de problème pour la suppression des doublons colonne après colonne. Mais ça coince sur la fin. Déjà je ne sais pas comment ajuster les colonnes Q:AD à 44 pixels. Après j'ai inséré la formule en Q3 et Q4 mais je n'ai pas le tableau souhaité.

Mon fichier en PJ

https://www.cjoint.com/?3GdivDSlyVA

Merci
0
Raymond PENTIER Messages postés 58720 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 10 novembre 2024 17 233
3 juil. 2014 à 17:20
Salut, Shane.

- "je ne sais pas comment ajuster les colonnes Q:AD à 44 pixels". Ce n'est pas très important, et ça ne joue que sur la présentation du tableau, pas sur les résultats.
Actuellement toutes tes colonnes ont une largeur de 10,71, ce qui équivaut à 80 pixels ; il te suffit de sélectionner ensemble les colonnes de Q à AD, de positionner ton pointeur dans l'en-tête de colonnes entre Q et R, par exemple, et de cliquer-glisser vers la gauche (le pointeur a changé de forme, et au fur et à mesure de ton déplacement tu peux lire la largeur des colonnes).

- "j'ai inséré la formule en Q3 et Q4 mais je n'ai pas le tableau souhaité". Normal ! dans la validation des données pour créer les listes déroulantes, pour définir la source tu as oublié le signe
=
devant INDIRECT(Q2) ...
0
shane137 Messages postés 129 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 10 juillet 2018 2
5 juil. 2014 à 18:05
Bonjour,

Merci Raymond, c'est mieux avec le "=" ;).

Comment arriver à partir de là au tableau que je souhaite, c'est à dire celui donné par via55 dans son fichier onglet B ?
0
shane137 Messages postés 129 Date d'inscription mardi 24 mai 2011 Statut Membre Dernière intervention 10 juillet 2018 2
8 juil. 2014 à 08:23
Petit "up"
0