Récupérer des données sous condition et les mettre en forme
Bonjour,
Dans un onglet 1, je saisi des commandes. J'ai 1 ligne par produit et 1 colonne par client. Dans les cellules, je saisi la quantité de produit commandée par le client.
Je cherche à avoir dans un onglet 2, une liste des produits à mettre dans chaque carton (1 carton = commande d'1 client). ll ne faut donc pas lister les libellés de produit avec une quantité vide. Et faire apparaitre X fois les produits commandés en X exemplaires (ou mieux les faire apparaitre une seule fois mais en indiquant la quantité devant le libellé).
Je vous joins le lien vers le fichier. Mon onglet 1 est OK. L'onglet 2 correspond à ce que je souhaiterai obtenir. (Ici je l'ai fait juste avec des copier/coller en sélectionnant les cellules à la main sur l'onglet 1).
https://docs.google.com/spreadsheets/d/1w1ApwJk_9hpkxp6HP0kjtXInsyAKvTwe4DJxq17HMl8/edit?usp=sharing
C'est mon premier post ici, n'hésitez pas à me dire s'il vous faut plus d'info, ou si je m'y suis mal pris pour formuler mon message.
Bonne journée à vous.
Bonsoir Pierre,
Une petite solution rapide dans l'onglet "Essai prépa" :
En A1 :
={'Saisie des commandes'!E1:BM1}En A2 :
=query(iferror(BYCOL('Saisie des commandes'!$E$1:$BM$1;lambda(n;arrayformula(query(transpose(query(ARRAYFORMULA(transpose({'Saisie des commandes'!$A$1:$BM$1;'Saisie des commandes'!$A$6:$BM$75}));"select * where Col1 = '"&n&"' ";1));"select Col1 where Col2 is not null ";1) & " /" & query(transpose(query(ARRAYFORMULA(transpose({'Saisie des commandes'!$A$1:$BM$1;'Saisie des commandes'!$A$6:$BM$75}));"select * where Col1 = '"&n&"' ";1));"select Col2 where Col2 is not null ";1)))));"select * offset 1 ")On peut également ajouter une MFC pour pointer les quantités multiples :
=VALUE(REGEXEXTRACT(A2;"[0-9]*$"))>1https://docs.google.com/spreadsheets/d/1C13_S9ir3qbIjdnUJpAkIVy8eWy2J28fmbtnt-CYSq8/edit?usp=sharing
Cordialement,
Fil.
Bonjour Pierre,
Une deuxième version avec la quantité en début de liste :
En A1 :
={'Saisie des commandes'!E1:BM1}En A2 :
=query(iferror(BYCOL('Saisie des commandes'!$E$1:$BM$1;lambda(n;arrayformula(query(transpose(query(ARRAYFORMULA(transpose({'Saisie des commandes'!$A$1:$BM$1;'Saisie des commandes'!$A$6:$BM$75}));"select * where Col1 = '"&n&"' ";1));"select Col2 where Col2 is not null ";1) & " x " & query(transpose(query(ARRAYFORMULA(transpose({'Saisie des commandes'!$A$1:$BM$1;'Saisie des commandes'!$A$6:$BM$75}));"select * where Col1 = '"&n&"' ";1));"select Col1 where Col2 is not null ";1) ))));"select * offset 1")MFC pour pointer les quantités multiples :
=VALUE(REGEXEXTRACT(A2;"[0-9]*"))>1https://docs.google.com/spreadsheets/d/15jxTpofIpfJM6I8M8H-MYyaJpV32w5vSxDDpZsp-Pps/edit?usp=sharing
Cordialement,
Fil.
Merci beaucoup, cela fonctionne parfaitement et va me faire gagner un temps précieux.