Les Formules Matricielles et Le TCD

C

Celeda

Guest
Bonjour tout le monde,

Comme vous le savez je suis une fan de Thierry et j’ai voulu tenter une aventure (pas avec lui!) mais avec les formules matricielles. Et comme je me suis embourbée j’en ai fait une petite histoire rigolote (c’est bientôt Noël), histoire d’évacuer la prise de tête.

Il était une fois un Tableau croisé Dynamique qui avait décidé de s’unir aux Formules Matricielles et d’avoir plein, plein, plein de petits résultats heureux.
L’aventure au début tourna vite court. Des erreurs dans les formules matricielles du style ‘’Names’’ ou ‘’NA’’ firent penser que l’ADN (les infos fournies à l’intérieur) du TCD n’était pas compatible avec les formules matricielles placées dans une colonne hors TCD.
Mais en fait, il y avait une erreur dans la formule matricielle. Vite corrigée, les résultats qui apparurent n’en furent pas moins incompréhensibles par l’utilisatrice.

Ne voulant pas en rester là, une copie valeur du TCD fut placée en dessous et les formules matricielles recopiées. Et là de nouveau, les formules matricielles exprimèrent leur désapprobation : les résultats obtenus étaient identiquement incompréhensibles,
Ce qui fit penser l’utilisatrice que Oui le TCD et les Formules matricielles pouvaient s’unir : à la condition que dans les formules matricielles on y mette le bon raisonnement, la bonne logique, les bons critères et qu’elle avait certainement fait un mauvais mélange !
Mais après plusieurs jours et un week-end à errer de questions, en tests, en interrogations, elle renonça et se retourna vers le seul auditoire qui pouvait l’aider par leur connaissance en maths ou en logique.
L’utilisatrice sait qu’elle peut mettre des fonctions mais elle a de bonnes raisons de vouloir mettre ces formules matricielles en place.

À Thierry : merci pour ton soutien

À vous autres à l’avance, Merci.

Celeda (fatiguée!)

PS : à ceux qui veulent m’envoyer des douceurs dans mon email perso, dans le style : ‘Excel n’est pas fait pour les filles’ ‘ Arrête de poser des questions à la …’, ‘Si tu comprends rien, sors du Forum’, ect… c’est inutile, j’ai déjà une ‘collection’.
Par contre, je les invite à lire le traité sur la Tolérance de notre bon vieux Voltaire et de méditer sur une de ses phrases : Connais la vérité et pardonne l’erreur.
 

Pièces jointes

  • TestLivraison.xls
    28 KB · Affichages: 94
  • TestLivraison.xls
    28 KB · Affichages: 97
  • TestLivraison.xls
    28 KB · Affichages: 104
C

Celeda

Guest
Catherine,

Merci pour ta proposition d'aide, j'accepte volontiers :

dans le tableau crosié dynamique, j'ai fait ressortir par type de confiserie, les quantités. Mais ces quantités sont elles-mêmes éclatées par type de spécialités.
Dans la formule matricielle, je lui demande selon des critéres bien précis :

calcule moi les quantités exactes par confiserie, en tenant compte des spécialités. soit ;

1er exemple :
fais moi la somme de toutes les specialités CAL + FRU + - GAT - POP
2eme exemple
dans une autre colonne je voudrais connaitre :
CAL - FRU - GAT + POP
3eme exemple
dans une auter colonne je voudrais connaitre :
- CAL + FRU - GAT + POP

Je sais que je pourrais me servir des =Sum mais je souhaite garder ces formules matricielles pour des raisons ''techniques''.
Ce ne sont pas des confiseries que je vends mais des equipements très techniques et les ''spécialités'' sont représentées par des codes précis qui sont pour moi plus repérables que A2+C2-E3 ect....sur un tableau conséquent.
Mais il se peut, Catherine, que je ne puisse demander cela dans une formule matricielle, ou simplement je me fourvoye dans l'ecriture de la formule.

Mais je souhaites en avoir le coeur net pour passer à autre chose.
Je te remercie et dis moi si cela est clair pour toi.
Celeda
 
C

catherine

Guest
voici ma proposition, je ne sais pas si cela te convient.
A mon avis, pas besoin de matricielle puisque les plages sont nommées.

Si cela ne te ves pas dis-le moi.

en G5 : =CAL+FRU-GAT-POP
en H5 : =CAL-FRU-GAT+POP
en I5 : =-CAL+FRU-GAT+POP

Bon courage!

Catherine
 
M

Monique

Guest
Bonsoir Celeda,
Si tu veux t'entraîner à associer entre elles les formules matricielles.
J'aimerais savoir s'il existe plus simple (moins long) que ce genre d'associations de plusieurs formules.
Bon courage.
 

Pièces jointes

  • TestLivraison.xls
    40 KB · Affichages: 91
  • TestLivraison.xls
    40 KB · Affichages: 98
  • TestLivraison.xls
    40 KB · Affichages: 114
C

Celeda

Guest
Bonsoir Monique et tout le monde,

Mais je devrais reprendre l'expression déjà employée : Super Monique.
Et je pense qu'elle est justifiée. Ta version différente de celle de Cathy se rapproche de ce que je veux faire.
Mais avant, j'aimerai te dire que je reste vraiment impressionnée par tes tableaux. J'espere que beaucoup de ''Exceldownloadforumistes'' ou autres récupéreront ceux-ci car c'est un exemple type de travail de formules matricielles. Je suis incapable de faire la même chose. Tu es précise et concice.

Alors dès demain je vais mettre en pratique tes exemples. Néanmoins, une chose me chiffonne dans la formule ci-dessous (qui est correcte):

=((SUM(IF((item_02=$A18)*(spec=B$16),qts,0))+SUM(IF((item_02=$A18)*(spec=C$16),qts,0)))+SUM(IF((item_02=$A18)*(spec=D$16),qts,0)))+SUM(IF((item_02=$A18)*(spec=E$16),qts,0))

Je veux soustraire cette fameuse colonne D16 au total général. Et si je le fais elle me fait en remplacant
- SUM(IF((item_02=$A18)*(spec=D$16),qts,0)))
au lieu du +, excel m'indique ''valeur''.

Imagine que je veux connaitre le total de toutes mes eqts qui sont repartis en spécialités et qu'une deces spécialités doit être soustraite pour des raisons X, afin que je connaisse le montant total de mes ventes.
N'oublie pas que je travaille en TCD (à cause de la masse d'informations) et quand je veux obtenir le total de mes ventes, je suis contrainte d'extraire aussi cette colonne.

De plus, je dois t'avouer que je vais examiner de près le dernier tableau. Cela me semble très convivial sauf que je ne sais pas comment cela marche et que je vais travailler dessus dès demain pour essayer de les exploiter.

Je te remercie grandement pour ton travail . Il serait peut-etre bon d'avoir une réunion en visio-conférence pour que tu m'expliques comment tu fais !!! Naturellement c'est moi qui paierai la communication (lol) !
Merci beaucoup.
Celeda
 
M

Monique

Guest
Bonjour Celeda,
je suis bien contente de t'avoir donné un coup de main, ne serait-ce que pour un entraînement dans la manipulation de ces formules.
Attention, en (très) grande quantité, elles ralentissent les calculs et tu précises que tu as une grande masse d'informations.
Il y a un truc pour additionner ou soustraire des formules matricielles entre elles sans trop grand risque d'erreur.
Au départ, tu as 2 formules qui marchent bien, dans 2 cellules différentes. Tu veux les additionner.
Tu cliques dans la barre de formule pour enlever les accolades, les formules ne sont plus bonnes mais ça n'a pas d'importance.
Tu copies la plus courte, tu la colles avec le système "Edition - Collage spécial - Opération"
Tu as un résultat qui ne tient pas debout, mais il suffit de changer les références de la formule copiée et de valider par CTRL + MAJ + ENTER (pays francophones)
C'est Excel qui met tout seul, comme un grand, le signe + ou - ou autre.
Inconvénient : on se retrouve avec plein de parenthèses inutiles.
Avec ce système, on obtient :
=(((SOMME(SI((item_02=$A18)*(spec=B$16);qts;0))+SOMME(SI((item_02=$A18)*(spec=C$16);qts;0)))+SOMME(SI((item_02=$A18)*(spec=D$16);qts;0)))+SOMME(SI((item_02=$A18)*(spec=E$16);qts;0)))-(SOMME(SI((item_02=$A18)*(spec=D$16);qts;0)))
Résultat : 1 - 1 = 0 ! CQFD...

Autre truc rapide : après avoir mis une apostrophe à la place du signe = devant chaque formule, tu utilises la fonction =CONCATENER(1ère_formule;"+";2è_formule;"-";nè_formule)
Copier - Collage spécial - Coller la valeur - Et tu valides de la même manière après avoir vérifié les références des cellules.

Si tu risques de devoir retirer certaines spécialités du total général, je pense que tu aurais intérêt à utiliser le système du tableau H16:M29
Formule de base : =SOMME(SI( )) * a + SOMME(SI( )) * b + etc
Les barres de défilement, c'est juste pour jouer à multiplier une spécialité par a, b, ou zéro.
Bonne nuit (ou bonne journée)
 
C

Celeda

Guest
Monique et Celeda en over time :

C'est cela ce que je veux Monique !!!! Je t'aime !!! Monique !!!!

J'intègre cela dans le fichier maitre.
Merci pour les explications des barres de défilement.
Je mets en pratique de suite

Ne pars pas de ce forum Monique, SVP.
Tu es comme les autres Masters de ce forum, une de ces sources qui coulent dans ses veines.


Bonne nuit à toi.
 
C

Celeda

Guest
Bonjour,

Il y a des soirs comme cela ou on a des surprises : cela faisait longtemps mais si j'avais quelque peu oublié, Thierry lui n'avait pas renoncé à m'aider et voilà le résultat de ses recherches. Celles-ci viennent simplement conforter certaines idées sur le Tcd et les formules matricielles, en complément du beau travail de Monique. Je tiens encore à les remercier beaucoup tous les deux pour leur aide et essayer de satisfaire ma soif de comprendre.

De CHRIS V à Thierry à......Celeda
''
Si une formule matricielle peut se servir des éléments d'un TCD, elle aura
> l'inconvénient de ne pas se réactualiser automatiquement, comme d'ailleurs le TCD, si interviennent des changements dans le tableau de données initial.
> Alors que la matricielle qui exploitera directement les données initiales du
> tableau, oui !
>
> D'autre part, les outils mis à disposition du TCD sont généralement
> suffisamment puissants pour "inclure" d'autres calculs, par l'intermédiaires
> des champs ou des éléments calculés, directement dans le TCD...
>
>
> ChrisV''

Merci à ce ChrisV
Celeda
 

Discussions similaires

Statistiques des forums

Discussions
314 655
Messages
2 111 604
Membres
111 217
dernier inscrit
aladinkabeya2