• Initiateur de la discussion Initiateur de la discussion Marc98
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Marc98

XLDnaute Nouveau
Bonjour à tous,

Ayant un tableau de base (voir PJ) je souhaite obtenir les résultats croisés comme montré sur l'exemple dans la partie basse du fichier.
J'ai essayé un tableau croisé dynamique mais je n'ai pas réussi à avoir le résultat voulu. J'ai aussi essayé d'autres formules mais rien ne m'a permis d'obtenir le résultat voulu.
Que les résultats soient dans une même cellule (comme j'ai mis) ou dans des cellules adjacentes n'est pas le plus important.
La seule chose que je n'ai pas essayé ce sont les macros car je n'y connais rien aux macros et cela me semble trop compliqué de le faire ainsi.

Bref: pouvez-vous m'aider, svp?

Merci par avance.
 

Pièces jointes

Re : Tableau croisé

Bonjour Marc98,

Pour autant que j'aie bien compris, essaye, en D14:
Code:
=SIERREUR(INDEX($A$1:$A$11;PETITE.VALEUR(SI(DECALER($B$2:$B$11;;EQUIV($C14;$B$1:$K$1;0)-1)="x";LIGNE($A$2:$A$11));COLONNES($A:A)));"")
Valider avec Ctrl+Shift+Enter, puis recopier vers le bas et autant de colonnes vers la droite qu'il risque d'y avoir de "x" au maximum, pour un produit.

Pour obtenir le résultat en une seule cellule, je ne pourrais le faire qu'avec une macro (fonction personnalisée)
 
Re : Tableau croisé

Merci bcp pour la rapidité de la réponse.

J'ai copié la formule en l'état et ça ne donne rien. La case reste "vide".
En revanche, je vais essayer d'étudier la solution dans le détail car j'avoue que tous ce code dépasse mes compétences.

Encore merci!

Marc
 
Re : Tableau croisé

Re-bonjour,

Assure-toi que la validation a été correctement effectuée: si c'est le cas, tu devrais voir des accolades autour de la formule (dans la barre de formule).
Si ce n'est pas le cas, sélectionne la cellule dans laquelle tu as copié-collé la formue, clique dans la barre de formule (ou double-clique sur la cellule ou appuie sur F2), enfonce les touches Ctrl et Shift, puis, en les maintenant enfoncées, frappe sur la touche Enter (doucement, quand même!) et relâche les deux autres
... Est-ce mieux?

Cherche ensuite des infos sur les "Formules Matricielles" ça devrait s'éclairer progressivement
 
Re : Tableau croisé

Bonjour,

J'essaye d'y aller progressivement et de comprendre ce que chaque valeur doit renvoyer.
Après avoir essayé formule par formule, la seule qui me renvoie #VALEUR! est =DECALER

J'essaye de comprendre le processus afin de trouver une solution... En tout cas, c'est bien la 1e fois que je me sers de cette formule!

Merci encore pour ton aide!

Marc

EDIT:
J'y vais pas à pas, en vérifiant les valeurs pour voir d'où peut venir l'erreur.
J'ai testé: Equiv -->Ok
DECALER-->Ok
SI-->Ok
Mais quand j'essaye Petite.Valeur, j'obtiens #Nombre...
Afin de faciliter le test, j'ai essayé en mettant Ligne et Colonnes comme tu as mis mais aussi en mettant simplement les valeurs que ça renvoyait. J'obtiens tjs la même erreur.
Je continue à me creuser la tête.

EDIT2: Le resultat est "normal" que le SI me renvoie "Faux"...
 
Dernière édition:
Re : Tableau croisé

Bonsoir Marc,

Ce qui serait bien ce serait de dire si, cette fois, la formule renvoie autre chose que "rien" et si ce quelque chose est cohérent!?

Comme la formule est matricielle, en tester "des morceaux" dans une cellule ne donnera pas nécessairement un résultat compréhensible: il y aura parfois plusieurs résultats ... qui ne pourront s'afficher dans une seule cellule (c'est la raison de ton #VALEUR! avec la fonction DECALER).

Ce que tu peux tester, par contre, c'est de demander à Excel d'évaluer une partie de formule directement dans la barre de formule. Pour cela,
- positionne-toi en D14 (là où, en principe, tu avais collé ma formule)
- clique dans la barre de formule (les accolades disparaissent instantanément, c'est normal)
- sélectionne cette partie DECALER($B$2:$B$11;;EQUIV($C14;$B$1:$K$1;0)-1)
- appuie sur F9 et là ... magie: tu devrais voir apparaître une petite matrice, composée de 0 et de 'x'. Ce sont les valeurs de B2 à B11, en réalité.
- appuie sur Esc, pour ne pas "bousiller" ta formule (faute de quoi, la petite matrice de 0 et de 'x' figurerait en tant que telle dans la formule, en remplacement de la portion de formule évaluée)
- recommence l'opération avec DECALER($B$2:$B$11;;EQUIV($C14;$B$1:$K$1;0)-1)="x". L'appui sur F9 fait apparaître des VRAI/FAUX
- tu peux refaire encore la même chose avec SI(DECALER($B$2:$B$11;;EQUIV($C14;$B$1:$K$1;0)-1)="x";LIGNE($A$2:$A$11)). Cette fois, à la place des VRAI, apparaîtront les n° de lignes où figure un 'x', dans la plage B2:B11

Tu commences à voir où on va? Le PETITE.VALEUR va permettre de "récupérer" le 2, le 5 et le 11, noyés dans les FAUX (d'abord en prenant la valeur au rang 1 (ligne 2), puis au rang 2 (ligne 5) et au rang 3 (ligne 11)

... C'est dingue, non ?? 😉

La bonne nouvelle du jour, c'est qu'il y a plein de choses plus facilement abordables dans le monde merveilleux d'Excel 😀
 
Re : Tableau croisé

Merci bcp pour ta réponse.
C'est comme ça que je m'y prends et j'essaye de comprendre le fonctionnement.
Je vais reprendre "l'entrainement" demain 😉

Donc, deux choses:
La formule ne renvoie rien (case vide) c'est normal vu qu'elle termine par ;"") J'en conclu qu'il y a une erreur qqpart et je cherche où...
Je dois être nul mais je n'arrive pas à changer quoi que ce soit avec F9 C'est peut être un souci de version d'Excel.

Bref, je n'ai pas encore baissé les bras!

Bonne soirée,

Marc
 
Re : Tableau croisé

Excellent!
Je te remercie bcp.
C'est exactement ce que je cherchais.
Pourtant, j'ai essayé de comprendre, de me creuser la tête, de chercher, etc. Il me semble que ça doit être la validation ctrl+shit+entrée où j'ai un souci. En fait, je n'avais jamais fait ça avant. J'ai pourtant bien essayé de le faire mais ça n'a pas dû fonctionner. En résumé: sur ta feuille ça marche à merveille et pas sur la mienne. J'ignore pour quoi 🙁

Bref, encore merci! Problème résolu. C'est exactement ce que je cherchais.
 
Re : Tableau croisé

Bonsoir,

Trouver son bonheur, c'est bien ... savoir comment et pourquoi on l'a trouvé, c'est mieux (comme ça on des chances de le trouver à nouveau, à un autre moment) 😀

Même chose en Excel: si tu dois un jour modifier la formule pour une quelconque raison, autant que tu comprennes ce que tu fais.
Une autre proposition donc, avec un tableau "intermédiaire" (en vert). Dans le tableau final, j'ai volontairement laissé les messages d'erreurs pour "alléger" la formule autant que possible. Pas de formules matricielles ... mais les fonctions utilisées sont les mêmes que dans la solution précédente.

... À toi de voir (... si tu repasses par ici!?)
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
753
  • Question Question
Autres excel
Réponses
8
Affichages
875
Retour