[Excel] recherche croisee dynamique (ou pas)

Leo -  
 Leo -
Bonjour,

J'ai le soucis suivant sur excel :
j'ai un tableau à deux entrés : des factures (ligne), et des familles de produits (colonne). Le tableau renseigne sur le fait qu'il y a ("1") telle famille qui est facturée au moins une fois sur la facture, ou pas ("cellule vide")

Je cherche, et je vous jure que je m'arrache les cheveux, à faire un tableau récapitulatif simple qui me dise "pour telle famille facturée une fois, il y a "x" fois telle autre famille qui a ete facturé aussi sur la même facture"
Pour telle autre famille... etc...

ça a l'air simple cette vacherie, mais il me manque sans doute ce qu'il faut (intelligence ?)

Merci de votre aide.
A voir également:

7 réponses

JvDo Messages postés 2012 Statut Membre 859
 
Bonsoir,

regarde http://cjoint.com/?bzbI3eXtNZ

j'y ai mis un onglet qui représente peut-être ce que tu souhaites faire.

il n'y a aucune macro, la feuille est donc plutôt "bidouillée"

les calculs se font à partir d'un tableau posé à la cellule A4.
j'ai quantifié le nbre d'occurrence d'une famille de produit dans une facture.

le résultat est représenté sous forme de matrice famille_produit x famille_produit par facture

cette matrice est naturellement symétrique et a une structure toute simple puisque c'est la répétition de la ligne des occurences de familles de produit pour la facture pour les lignes dont le n° correspond à une occurrence non vide de ladite famille à l'intérieur de la facture.

tout compte fait, l'explication est beaucoup plus lourde que la structure de la matrice.

Manquerait plus que tu me dises que ça ne correspond pas du tout à ce que tu souhaites!!! (:-)

A+
1
JvDo Messages postés 2012 Statut Membre 859
 
PS : glups! j'aurais du protéger la feuille.......
1
Leo
 
Déjà merci beaucoup..!
Malheureusement, et c'est ma faute je crois, le tableau que tu as fourni est celui duquel je pars (ou alors je ne l'ai pas bien compris... mais je ne crois pas)

Je dis que ça vient de moi l'erreur car j'aurais du précise "en %" c'est à dire que la matrice que je cherche à faire aura en entrée ligne et en entrée colonne les familles de produits. Et c'est à partir de cette matrice que je ferai mes % (à savoir ma phrase qui t'a enduite d'erreur : "pour une famille, combien d'autres facturées avec elle sur une même facture">>> %)

Sur le lien suivant, je t'ai fait une explication en reprenant ton tableau.

http://cjoint.com/?bztBcF3PzT

ps : j'espère que tu te couches toujours à 01:50 du mat, et que c'est pas à cause de moi...
0
JvDo Messages postés 2012 Statut Membre 859
 
bonsoir,

dans la feuille de calcul, le tableau résultat était en colonne BG.
tu l'avais vu?

de toutes façons, il ne correspondait pas à ce que tu attendais, mais au moins il représentait une matrice FP x FP.

Bon,

je regarde,

A+
0
Leo
 
Bonsoir,

En fait mon point de départ est un tableau où en ligne j'ai les factures et en 1 seule colonne les familles (donc plusieurs lignes pour une seule facture dans le cas où il y a plusieurs familles.

Là où j'en suis, c'est que j'ai fait un tableau croisé dynamique qui me donne le tableau sur lequel tu arrives aussi : en ligne, une seule facture, et en plusieures colonnes toutes les familles. A l'intersection, le nbre de produits commandés par famille.

J'aimerai donc avoir une matrice encore plus récapitulative fp x fp qui me dirait combien de fois chaque famille apparait sur une même facture qu'une autre famille déterminée.

C'est ce que tu pensais avoir fait ? J'ai peut-être mal compris alors...

Merci,

A+
0
JvDo Messages postés 2012 Statut Membre 859
 
bonsoir,

j'avais en fait reconstruit ton fichier source, celui en 2 colonnes à partir du tableau croisé dynamique.
j'avais ensuite refait le tableau croisé dynamique pour te proposer de gérer tes données sur 2 colonnes.
Le fichier excel résultant était trop volumineux et je n'ai pu mettre sur cjoint.com qu'un onglet, celui que tu as vu et qui partait du tableau croisé pour en faire la série de matrices FPxFP pour chaque facture.

là j'ai bien compris que ton objectif est de faire ressortir une sorte de taux d'occurrence des couples (FPi, FPj) dans l'ensemble des 2) factures à l'intersection de la ligne FPi et de la colonne FPj.

En fait, il y a bien une solution bestiale à base de triple boucle sur :
1) les factures Fk
2) les FPi
3) les FPj pour j<>i

avec ça on enrichit un tableau FP(i,j) en sommant pour chaque Fk, ce qui correspond à ce que tu attends.

il faut quelques lignes de code pas compliquées mais je voudrais trouver quelque chose de plus subtil.

si tu as un souci de productivité, dis le. le subtil attendra

A+
0
JvDo Messages postés 2012 Statut Membre 859
 
voilà, ça doit correspondre à ce que tu veux

http://cjoint.com/?bBbFD7KxIR
c'est pas fignolé, mais enfin ....

A+
0
Leo > JvDo Messages postés 2012 Statut Membre
 
Alors là...
Je dis Môssieur !

Bon, c'est peut-être subtil, mais c'est ce qu'il me fallait...
Ca marche, et moi qui suis néophite, j'ai même réussi à changer ton code question taille de la drope zone, puisque le tableau venait s'inscrire en plein dans les données s'il dépassait les 18 lignes (ce qui était le cas, sinon ce ne serait pas drôle)

ps : en bestial, ça aurait donné quoi ?
ps 2 : j'ai une toute petite question annexe, si ça te dis d'y jeter un oeil ou deux, mais sinon je la mettrai sur le forum, tu as déjà assez bossé...
Je me demande comment obtenir le même genre de résultat qu'avec la fonction valeur cible d'excel, mais pour en quelque sorte inverser une fonction : pour déterminer la "longueur" d'une sélection en fonction d'un résultat (issu d'une somme dans cette sélection, donc) qui serait une variable sur laquelle on pourrait agir.
En gros : colonne A. Pour atteindre tel chiffre (somme de certains éléments de A, combien d'éléments la sélection SOMME contiendra ?
Et sa version plus corcée à deux colonnes : pour telle valeur cible en B, indiquer la nbre d'éléments de A qui seront sommés pour atteindre le chiffre sur la même ligne en A que la valeur cible en B.

Je te remerci en tous cas pour tes judicieuses lumières qui m'ont rendu le plus gros du service que j'espérais.

A+
0
JvDo Messages postés 2012 Statut Membre 859 > JvDo Messages postés 2012 Statut Membre
 
Bonsoir,

est-ce que le résultat s'appuie sur une zone de cellule de A qui aurait une borne en absolu (genre $A$1: $Ax)
ou est-ce que la somme est à rechercher sur un nombre quelconque de cellules disjointes de A:A.

le résultat correspond-il obligatoirement à une somme de cellules ou faut-il approximer?

A+
0

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

Posez votre question
Leo
 
Ok reviendu, je te transmet le fichier demain.

A+
0
JvDo Messages postés 2012 Statut Membre 859
 
hello,

une première réponse sans macro : http://cjoint.com/?cjbxqL12Du

tu mets + ou - en C1, D1 pour choisir la variante (C seul, D seul, C sans D, D sans C)
tu saisis le nombre que tu cherches à atteindre en I2.
il identifie la ligne la plus proche en correspondance (les "*" colonnes I:J) et il t'insulte (en H3) si tu es hors limite [min, max]
il fait les calculs de toutes les variantes (N:AB)
il fournit la variante résultat (K:M) en fonction d'une table (AD1:AF4) et de l'index (J1)
le résultat final est en K1:M1

j'ai protégé les formules par une protection de la feuille.

A+
0
Leo
 
Hello,

One again, ça marche... t'es génial, merci !
Je me demande si ce ne serait pas plus sympa pour ceux qui auraient ce genre de probleme à résoudre de placer au moins ta réponse au premier post dans un nouveau, avec la macro dans le texte... je vais m'y employer si tu es d'accord. ça pourait servir à d'autres.

Est-ce que tu aurais des tuyauts pour bien commencer la programmation VBA ainsi que les formules (comme néophyte de forum, je viens d'être touché par la grâce)

Merci bcp pour ton aide..!

A+
0