Synthétiser un tableau sans les cellules vides

Bonjour le forum,

dans le fichier joint, sur l'onglet "détail des IA", j'ai pour chaque client (ligne 3. Pour le moment il n'y en a qu'un : Asika), le nombre d'IA (comme l'Intelligence Artificielle, c'est Artificiel aussi mais... ce sont des inséminations) qui'il a demandé par race.

Dans l'onglet "résultat", j'aimerais créer une synthèse par client, autre ment dit lister juste les races pour lesquelles le client a demandé des IA (et leur quantité mais ca je sais éventuellement m'en débrouiller avec NB.SI.ENS)

Je ne sais pas s'il me faut passer par des tableaux de tri croisés (j'ai jamais utilisé... ni vraiment compris comment ca marchait...).
Je ne souhaite pas de macro (fichier utilisable aussi bien avec MS Office que libreOffice, openOffice...)

Je ne cherche pas expressément une solution (sauf si "le plus simple c'est le tri croisé") mais au moins dans un 1er temps être aiguillé sur la voie à prendre (tant pis si j'ai direct la solution, mais si je peux essayer de me débrouiller, en ayant une indicattion vers quoi me tourner... Ca me fait réfléchir (ca fait pas e mal) et y a le coté "plaisir d'avoir réussi, même si j'ai pas tout trouvé tout seul" :)

Merci d'avance!

9genetisim.zip (127.19 Ko)

j'ai trouvé une solution (la plus simple?) :

dans mon onglet "détail des IA", sur les cases des clients (ligne 3) je filtre et décoche les cases vides...
Ca fait le job "client par client" au pire...
C'était pas le résultat auquel je pensais, mais ca peut faire l'affaire également

Bonjour,

pas évident de savoir jusqu'à quel point on peut aider puisque tu ne veux pas qu'on en dise trop

Indice : on peut faire ça avec une formule matricielle qui va garder uniquement les lignes contenant un chiffre et on va étaler cette formule de sorte qu'elle renvoie d'abord la 1ère valeur, puis la 2ème, ...

oui, je sais : je suis un peu casse pied dans ma demande :D

j'ai pas mal appris sur excel notamment grâce à ce forum, souvent en passant du temps a décortiquer les formules qu'on me proposait pour essayer de les comprendre (pas toujours, mais souvent) et là, j'ai envie de creuser un peu par moi même... du moins un moment (peut être je finirai à craquer!)

Bonjour,

pas évident de savoir jusqu'à quel point on peut aider puisque tu ne veux pas qu'on en dise trop

Indice : on peut faire ça avec une formule matricielle qui va garder uniquement les lignes contenant un chiffre et on va étaler cette formule de sorte qu'elle renvoie d'abord la 1ère valeur, puis la 2ème, ...

Ce à quoi tu fais allusion c'est avec un combiné de "index" et "equiv"? j'ai vu passer des trucs comme ca (je crois même ici, via une demande il y a fort longtemps mais pas pour ce genre de demande (mais en me basant sur ton indice, je tombe sur ca avec Google ^^) Si c'est ca je vais essayer de m'en sortir mais c'est quelque chose que je maitrise pas trop encore... Si besoin, je sais ou toquer :)

Oui, c'est souvent INDEX/EQUIV mais ici EQUIV serait remplacé par autre chose.

Bonjour,

il faudrait déjà faire une vraie BDD, sinon ça complique tout : http://www.xlerateur.com/divers/2010/05/14/les-13-regles-d%E2%80%99or-pour-utiliser-excel-comme-gest...

Ensuite tu pourras fait un TCD (Tableau Croisé Dynamique) : Tableau Croisé Dynamique (TCD) : http://www.mdf-xlpages.com/modules/smartsection/item.php?itemid=109
eric

bonjour Eriiic,

merci pour les liens.

Avec le TCD, j'arrive pas à "masquer les lignes qui n'ont que des 0" : soit ca masque pour une colonne, soit pour l'autre.
Même en mettant mes champs en "filtre" et en sélectionnant toutes les valeurs sauf les 0, ca change rien...

Après, vu avec mes amis(qui vont utiliser le fichier et sont encore moins calés que moi sur excel), un filtre basique sur un client leur suffit (pas de besoin vital d'avoir une complète synthétisée)

@ Doux rêveur, la curiosité poussant, je suis preneur de la solution que tu avais en tête (pour le coup Google n'a pas trop été mon ami...)

Alors en B3 ;

=SIERREUR(INDEX('détail des IA'!$C$4:$C$132;PETITE.VALEUR(SI(ESTNUM('détail des IA'!$D$4:$D$132);LIGNE('détail des IA'!$D$4:$D$132)-3);LIGNE(1:1)));"")

et C3 ;

=SIERREUR(INDEX('détail des IA'!$D$4:$D$132;PETITE.VALEUR(SI(ESTNUM('détail des IA'!$D$4:$D$132);LIGNE('détail des IA'!$D$4:$D$132)-3);LIGNE(1:1)));"")

Mais c'est juste valable pour le 1er nom.

Si on veut faire une formule pour tous les noms et qu'on veut les mettre les uns à côtés des autres, il faudra une formule un peu plus complexe qui ira chercher la bonne colonne en fonction du nom indiqué en haut.

oula! j'étais pas près de trouver une telle formule!!

mon cerveau te remercie : je vais avoir quelque chose à décortiquer

"Si on veut faire une formule pour tous les noms et qu'on veut les mettre les uns à côtés des autres, il faudra une formule un peu plus complexe qui ira chercher la bonne colonne en fonction du nom indiqué en haut."

en imbriquant du recherchev par ex?

Bonjour,

avec une BDD digne de son nom.
eric

10genetisim.zip (255.04 Ko)
"Si on veut faire une formule pour tous les noms et qu'on veut les mettre les uns à côtés des autres, il faudra une formule un peu plus complexe qui ira chercher la bonne colonne en fonction du nom indiqué en haut."

en imbriquant du recherchev par ex?

Je pensais plutôt à un autre INDEX/EQUIV.

Mais là où ça se complique dans ton cas c'est que pour noter les races, il ne faut pas se contenter de se référer à la colonne des races mais appliquer la formule relative au nom.

merci Eriiic

j'ai plus qu'à adapter mes données pour que les formules marchent bien.

"Si on veut faire une formule pour tous les noms et qu'on veut les mettre les uns à côtés des autres, il faudra une formule un peu plus complexe qui ira chercher la bonne colonne en fonction du nom indiqué en haut."

en imbriquant du recherchev par ex?

Je pensais plutôt à un autre INDEX/EQUIV.

Mais là où ça se complique dans ton cas c'est que pour noter les races, il ne faut pas se contenter de se référer à la colonne des races mais appliquer la formule relative au nom.

ok ok... un truc un peu usine à gaz quoi :D

Merci en tout cas pour ta participation au sujet!

bonjour gigi777, Doux Revêur, Eriiic,

une proposition (avec menu déroulant dans la cellule B2

5genetisim.zip (182.47 Ko)

EDIT : mais je préfère la solution d'Eriiic

bonjour gigi777, Doux Revêur, Eriiic,

une proposition (avec menu déroulant dans la cellule B2

5genetisim.zip (182.47 Ko)

EDIT : mais je préfère la solution d'Eriiic

bonjour BsAlv,

merci pour ta proposition.
Ca revient un peu à mettre des filtres sur l'onglet "détail des IA" en décochant les cases vides, c'est ça? ou j'ai loupé une subtilité dans ton fichier?

Bonjour,

avec une BDD digne de son nom.
eric

10genetisim.zip (255.04 Ko)

Avec ce TCD il me semble qu'il y aura pas mal de cellules vides quand il y aura plusieurs clients en colonne A, or il me semblait que le but était d'avoir une liste sans vide par client.

Après tout dépend de ce que veut gigi777.

Bonjour,

avec une BDD digne de son nom.
eric

10genetisim.zip (255.04 Ko)

Avec ce TCD il me semble qu'il y aura pas mal de cellules vides quand il y aura plusieurs clients en colonne A, or il me semblait que le but était d'avoir une liste sans vide par client.

Après tout dépend de ce que veut gigi777.

pas trop grave (y en a déja moins que dans "détail des IA"). et en adaptant à mes données d'entrées, ca le fait.
Question bête : un TCD MS office ca marche bien sous openOffice/LibreOffice également?
Merci à tous les 3

Une BDD doit avoir tous les champs connus remplis
En aucun cas ça ne peut être "s'il n'y a rien c'est que c'est comme au-dessus"

@ gigi777 : j'étais tout de même curieux de voir si je parvenais à aller au bout de ce que j'avais imaginé alors je te communique la solution au cas où ;

Dans la feuille de détails, j'ai rajouté des noms et des chiffres (que j'ai mis à la place des formules, c'est juste pour l'exemple, il faudra les remettre et surtout mettre à jour la BDD) ;

excel genetisim par gigi777 c1

Ce qui donne ;

excel genetisim par gigi777 c4

La difficulté était de faire une seule formule qui fonctionne à la fois pour les noms et les chiffres et les colonnes vides entre les noms, elle va de B4 à O16.

=SIERREUR(INDEX(SI(ESTNUM(B$2);SI(NBCAR(B$3)=0;"";'détail des IA'!$C$4:$C$132);INDEX('détail des IA'!$D$4:$I$132;0;EQUIV(A$3;'détail des IA'!$D$3:$I$3;0)));PETITE.VALEUR(SI(ESTNUM(INDEX('détail des IA'!$D$4:$I$132;0;EQUIV(SI(ESTNUM(B$2);B$3;A$3);'détail des IA'!$D$3:$I$3;0)));LIGNE($A$4:$A$132)-3);LIGNE(1:1)));"")

Et j'ai mis une formule pour les noms qui permet de les enchaîner sans vide même s'ils sont espacés dans la feuille de détails (ce qui est le cas de Johnny).

=SIERREUR(SI(ESTNUM(B$2);INDEX('détail des IA'!$D$3:$I$3;PETITE.VALEUR(SI(ESTTEXTE('détail des IA'!$D$3:$I$3);COLONNE('détail des IA'!$D$3:$I$3)-3);B2));"");"")
Rechercher des sujets similaires à "synthetiser tableau vides"