formule(s) pour alimenter un tcd (XL2007 Windows)-Trouble With Pivot Tables

gosselien

Board Regular
Joined
Jan 15, 2015
Messages
65
Bonjour,

je tente de faire un TCD sur base des données de ma feuille "base" et je n'obtiens pas les bons chiffres; je cherche donc une formule qui (dans "base") me ferait obtenir les bons calculs dans le tableau croisé dynamique.

Est-il possible ici de montrer ce classeur à un spécialiste en formule ?

Merci
 

Excel Facts

How can you automate Excel?
Press Alt+F11 from Windows Excel to open the Visual Basic for Applications (VBA) editor.
Bonjour.

En fait non - il n'y a pas moyen d'attacher des fichiers ici.

Vous pourriez soit donner un lien a un site internet d'où on peut télécharger votre feuil, soit tenter d'en donner un extrait, à condition que cet extrait-là soit suffisant pour décrire votre problème.

Cordialement
 
Upvote 0
Merci bien.

En F2, formule matricielle**:

=SIERREUR(INDEX(Base!Commune;EQUIV(PETITE.VALEUR(SI(FREQUENCE(EQUIV(Base!Commune;Base!Commune;0);LIGNE(Base!Commune)-MIN(LIGNE(Base!Commune))+1);NB.SI(Base!Commune;"<"&Base!Commune));LIGNES($1:1));NB.SI(Base!Commune;"<"&Base!Commune);0));"")

Et à copier vers le bas.

Cordialement.


**Les formules matricielles ne sont pas entrées de la même manière que les formules «standards». Vous les créez de la même façon que des formules standard simples, en les faisant précéder d’un signe égal (=), mais vous les validez en appuyant sur CTRL+MAJ+ENTRÉE et non uniquement sur ENTRÉE.
 
Upvote 0
Merci pour ta réponse...à laquelle je ne comprends pas grand chose mais bravo !!!

je pense que je me suis mal exprimé: il faudrait que dans ma feuille "base", dans une nouvelle colonne, si possible avoir une formule qui , une fois dans le TCD , me donne un total de 13 bénéficiaires uniques (au total de la colonne tcd ), 13 communes (au total de colonne tcd ) et 13 disciplines au total;
ma formule dans la colonne "unique" me donne bien 18 bénéficiaires que je retrouve dans mon TCD comme tu le vois, je cherche une autre qui dans le TCD, me donnerait les 13 et 13 demandés;

si ce n'est pas possible, je ferai un total manuel (ou du vba) d'autant qu'ici il y a peu de données


Patrick
 
Upvote 0
Désolé. Je ne sais pas comment y arriver en intégrant les résultats dans un TCD.


Cordialement
 
Last edited:
Upvote 0
Pas sur si c'est ce que tu cherche...

Modifier Base comme ind</STRONG>iq</STRONG>ué c</STRONG>i-</STRONG>dessous:

B.Unique
C.Unique
D.unique
0.50
0.50
0.17
0.50
0.50
0.17
0.25
0.08
0.08
0.25
0.08
0.08
0.25
0.08
0.08

<TBODY>
</TBODY>

E6:

{=1/COUNT(IF($B6=Bénéficiaire,1))}

F6:

{=1/COUNT(IF($C6=Commune,1))}

G6:

{=1/COUNT(IF($D6=DISCIPLINE_SPORTIVE,1))}

Ça nous donne dans la feuille TCD donc...

Column Labels
ES
Row Labels
Sum of B.Unique
Sum of D.unique
Sum of C.Unique
ANDERLECHT
3
1.615384615
1
BOXE ANGLAISE
1
1
0.333333333
FOOTBALL
2
0.615384615
0.666666667
AUDERGHEM
1
1
1
VOLLEY BALL
1
1
1
BRUXELLES
1
0.166666667
1
JUDO
1
0.166666667
1
EVERE
1
1
1
HANDBALL
1
1
1
FOREST
1
0.111111111
1
TAEKWONDO
1
0.111111111
1
GANSHOREN
1
0.5
1
BASKET BALL
1
0.5
1
IXELLES
1
0.333333333
1
TENNIS
1
0.333333333
1
MOLENBEEK-SAINT-JEAN
1
0.384615385
1
FOOTBALL
1
0.384615385
1
SCHAERBEEK
1
0.166666667
1
JUDO
1
0.166666667
1
UCCLE
4
5.555555556
1
BOXE FR - SAVATE
0.25
1
0.153846154
GYM ARTISTIQUE
1
1
0.076923077
JIU-JITSU
0.25
1
0.153846154
JUDO
1
0.666666667
0.153846154
KARATÉ
0.25
1
0.153846154
TAEKWONDO
1.25
0.888888889
0.307692308
WATERMAEL-BOITSFORT
1
1
1
HOCKEY SUR GAZON
1
1
1
WOLUWE-SAINT-LAMBERT
1
0.5
1
BASKET BALL
1
0.5
1
WOLUWE-SAINT-PIERRE
1
0.666666667
1
TENNIS
1
0.666666667
1
Grand Total
18
13
13

<TBODY>
</TBODY>

Si tu veux, tu peut créer des listes sans doublons avec des formules dans la feuille Uniques...

D2:

{=IFERROR(INDEX(Base!Bénéficiaire,SMALL(IF(FREQUENCY(IF(Base!Bénéficiaire<>"",
MATCH(Base!Bénéficiaire,Base!Bénéficiaire,0)),Ivec),Ivec),ROWS(D$6:D6))),"")}

F2:

{=IFERROR(INDEX(Base!Commune,SMALL(IF(FREQUENCY(IF(Base!Commune<>"",
MATCH(Base!Commune,Base!Commune,0)),Ivec),Ivec),ROWS(F$6:F6))),"")}


H2:

=IFERROR(INDEX(Base!DISCIPLINE_SPORTIVE,SMALL(IF(FREQUENCY(IF(Base!DISCIPLINE_SPORTIVE<>"",
MATCH(Base!DISCIPLINE_SPORTIVE,Base!DISCIPLINE_SPORTIVE,0)),Ivec),Ivec),ROWS(H$6:H6))),"")

J'ai pas cherché à traduire toutes cettes formules. Voir plutôt le classeur sous le lien suivant: https://dl.dropboxusercontent.com/u/65698317/gosselien tcdforum.xlsm
 
Upvote 0
Bonjour

Je pense bien que OUI..je vais mettre ça dans ma table et tcd et je te confirme...

UN grand merci de t'être penché sur mon problème

Patrick
 
Upvote 0
Voilà, je viens de mettre ça dans ma feuille BASE et mon tcd actualisé donne les résultats demandés; je te remercie encore !!! :eek:
Par contre, pour les formules, je ne peux pas les appliquer parce que je ne les comprends pas :(, alors à défaut,j'ai un code passant par une collection(2003) ( ou dictionnaire 2007) à présent qui me permet de trouver les occurrences uniques , et à présent en plus c'est présent nativement dans Excel 2007 dans le menu Données/supprimer les doublons :)
Un grand merci encore !
Patrick
 
Upvote 0

Forum statistics

Threads
1,214,787
Messages
6,121,561
Members
449,038
Latest member
Guest1337

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top