Problème avec la fonction transpose

Bonjour,

J'utilise la formule transpose comme suit : =transpose(filter('tableau 1'!B3:B10;'tableau 1'!A3:A10=A8)) qui marche très bien dès lors qu'elle est sur un seul tableau mais lorsque je veux transposer les données depuis deux tableaux sur un seul, ça ne marche plus.

J'ai mis la problématique en fichier joint test transpose.

https://docs.google.com/spreadsheets/d/1jXvC8AFdjfnemkuu5On9uITkNttAQ4vTg0kU5IMxoPw/edit?usp=sharing

UN grand merci pour votre aide, comme d'habitude.

Bonjour,

Voila une formule avec MAP, LAMBDA, UNIQUE, FILTER, TRANSPOSE et des {} pour toi

L'ajout des fonctions MAP et UNIQUE permet ici de traiter automatiquement toutes les dates uniques en une fois et d'afficher les données correspondantes à droite.

=MAP(UNIQUE({'tableau 1'!A3:A10;'tableau 2'!A3:A11});LAMBDA(d;{d\TRANSPOSE(FILTER({'tableau 1'!B3:B10;'tableau 2'!B3:B11};{'tableau 1'!A3:A10;'tableau 2'!A3:A11}=d))}))
image

Merci à toi Sébastien, ta solution marche parfaitement bien et cela m'a permi d'apprendre de nouvelles fonctions que je ne connaissais pas du tout comme MAP et LAMBDA.

PAr contre, sur mon vrai tableau, il y a des données sur les colones de droite sur la même ligne et les lignes du dessous et quand je rentre la formule, il me met ce message d'erreur qu'il" ne peut pas développer le résultat pour ne pas écraser les données en colonne x" alors qu'il a largement assez de colonnes vides à droite pour afficher tous les résultats. IL m'oblige à effacer les données donc sur les colonnes de droite plus loitaines et dès que j'efface une colonne il me met la même chose pour la colonne suivante et ainsi de suite. Connais-tu une solution pour contourner ce problème ?

Merci encore à toi pour ton aide.

Pour une formule comme celle-ci qui a besoin d'espace au-dessous ainsi que à droite, tu n'as pas d'autre choix que de libérer l'espace nécessaire pour afficher les données.

Dans le doute, teste sur une nouvelle feuille et vois l'espace requis (pour voir la taille de la plage et donc où tu dois libérer de l'espace).

Merci à toi Sébastien mais en vérifiant, il faut que je supprime toutes les données sur une vingtaine de colonnes et sur 3 lignes en dessous de la ligne sur laquelle figure la formule donc ça va pas ête possible.

j'ai essayé de prendre le problème différemment et donc de fusionner les 2 tableaux en 1 seul qui est le tableau source.

https://docs.google.com/spreadsheets/d/1jXvC8AFdjfnemkuu5On9uITkNttAQ4vTg0kU5IMxoPw/edit?usp=sharing

AS tu une formule plus simple car un seul tableau source cette fois-ci qui me permette donc de transposer les données de B et C du tableau source vers B à M du tableau cible en fonction de la date ?

Sur le lien, 3 onglets tout simples : tableau source, objectif (ce que je voudrais obtenir) et test (test de formule mais qui ne marche pas)

Merci encore à toi.

Bonjour,

Voir colonne E de votre fichier partagé. La formule utilisée ci-dessous (en anglais) :

=Let(listeJrs;A3:A11;
res;MAP(UNIQUE(listeJrs);LAMBDA(jour;torow(vstack(FILTER(B3:B11;listeJrs=jour);(FILTER(C3:C11;listeJrs=jour)))))); HSTACK(UNIQUE(listeJrs);res))

Merci à toi également saboh12617 pour la qualité de ta réponse, tout comme Sébastien. La formule marche aussi très bien mais je ne comprends vraiment pas pourquoi j'ai systématiquement ce message d'erreur. Comme vous le voyez sur cette capture d'écran, j'ai en fait 12 colonnes pour recevoir les données sur chaque ligne alors qu'en pratique, je ne dépasserai jamais les 8 données donc 8 cellules. J'ai donc très largement assez de place pour que les données puissent être développées mais il faut que je supprime toutes mes formules sur les autres cellules allant de P à BR et sur plusieurs lignes donc ce n 'est pas possble car mon tableau n'a alors plus aucun intérêt. IL doit bien y avoir une solution car sinon, ça n'a pas de sens.

Si quelqu'un sait comment faire, je suis vraiment preneur car là je désespère .....

Un grand merci néanmoins pour votre aide, cela fait grandement plaisir.

image

AS tu une formule plus simple car un seul tableau source cette fois-ci qui me permette donc de transposer les données de B et C du tableau source vers B à M du tableau cible en fonction de la date ?

Voila la formule pour un seul tableau source (cela dit, si les données sont les mêmes ça ne changera pas le nombre de données à droite) :

=MAP(UNIQUE('tableau source'!A3:A11);LAMBDA(d;{d\TRANSPOSE(FILTER('tableau source'!B3:B11;'tableau source'!A3:A11=d))}))
image

S'il y a des données à double dans tes vraies données, tu peux ajouter UNIQUE autour de FILTER.

Sinon tu peux aussi regrouper dans une cellule (si ça te convient ou juste pour voir les données pour les tests) :

=MAP(UNIQUE('tableau source'!A3:A11);LAMBDA(d;{d\JOIN(", ";FILTER('tableau source'!B3:B11;'tableau source'!A3:A11=d))}))
image

Et si tu as besoin de les trier dans l'ordre (pour les 2 formules de ce post), tu peux ajouter SORT autour de FILTER.

Je tenais à vous remercier tous les deux pour votre aide. Toutes les formules que vous m'avez proposées fonctionnent parfaitement bien mais à la différence de formules plus simples, elles posent irrémédiablement, semble t-il, le problème du refus de Google Sheet de développer le résultat pour ne pas écraser les données des colonnes de droite. Si j'ai 40 colonnes à droite, il faut supprimer les formules des 40 colonnes de droite car sinon il refuse de développer le résultat alors qu'il a largement assez de colonnes vides sur sa droite pour afficher les résultats sans déborder sur les autres colonnes. Cela dépasse mes capacités de compréhension mais c'est comme ça. En faisant des tests, j'ai l'impression que c'est lié au fait de lui demander d'aller chercher des données même si c'est dans un seul tableau mais à deux endroits différents. S'il doit juste aller chercher les données d'une seule colonne, je n'ai pas ce problème mais là il faut aller récupérer sur 2 colonnes et là, le message apparait systématiquement.

Tant pis, on ne peut pas faire de miracle, si c'est pas possible, c'est pas possible ....

Encore merci à vous Sébastien et saboh12617 pour la peine que vous vous êtes donnée, c'est vraiment hyper sympa de votre part.

Bon weekend à vous !

Bonjour chucky23,

Votre compréhension de l'erreur est un peu erronée :

Si elle vous indique, comme sur votre screen, que la matrice des résultats ne peux pas écrire en P172 parce qu'il y a déjà une valeur en P172, c'est que le résultat est bien plus "long" que ce que vous pensez. La matrice va s'étendre (au moins) jusqu'à la colonne P.

Si vous voulez, essayez : insérez des colonnes (ou supprimez la colonne P), vous verrez qu'au bout d'un moment les résultats vont s'afficher et s'étendre.

Voyez maintenant la dernière proposition de Sébastien : en regroupant les valeurs dans 1 cellule (séparées par une virgule) au lieu de 1 valeur / colonne, vous aurez toujours une matrice de résultats de 1 colonne de large. Donc le problème est résolu puisque vous restez en colonne B.

Bonjour saboh12617 et merci pour ta réponse.

j'ai voulu tester l'ajout de colonnes à droite de ma formule comme tu me l'as proposé que j'ai ensuite réduites en dimension. J'ai rajouté exactement 360 colonnes sur la droite en plus des 13 colonnes existantes et qui sont déjà vides. Ca ne change strictement rien. Il refuse de développer le résultat alors qu'il a 6 résultats tout au plus à afficher par ligne donc 6 cellules suffiraient. Tout ce qu'il fait, c'est qu'il décale le numéro de la cellule qui pose problème du fait de l'ajout de 360 colonnes.Et si je supprime la cellule qui pose problème, il me dit ensuite que c'est la suivante et cela jusqu'à ce que la ligne soit complètement vide. En fait, il lui faut une ligne totalement vierge qui ne comporte sur sa droite aucune donnée et aucune formule. Même 360 colonnes vides de tout à sa droite ne lui suffise pas pour développer le résultat.

image

Si tu nous partageais le vrai fichier, ce serait beaucoup plus simple pour te répondre

Helas pour moi, je ne peux pas le faire pour des raisons de confidentialité.

C'est pourquoi je vous ai décrit de la façon la plus précise possible ce qu'il se passait malgré l'ajout de 360 colonnes.

Tant pis pour moi, de votre côté, vous avez fait comme toujours tout ce que vous pouviez à votre niveau et je vous en remercie vraiment sincèrement.

Je note le post comme résolu. Toutes vos formules ont par ailleurs parfaitement bien fonctionné.

Merci beaucoup à tous les deux

Cordialement.

Rechercher des sujets similaires à "probleme fonction transpose"