Google Sheet (problématique de formule)

Bien le bonjour à toutes et tous, je me présente à vous avec une problématique dont je fais face depuis quelque jour, en effet, je bloque devant une formule.

Je souhaite faire un tableau de stok pour divers objet, en fonction de 3 critère: TYPES ; MODELES ; MARQUES.

Feuille "Tableau_Stock": toute les informations des objets est présenté de façon clair et léger et ou je prévois de faire des listes déroulante dans les colonnes A;B,C

Feuille "Tableau-MARQUES + MODELES": La où j'inscris toute les informations de chaque produits en fonction des critères précédemment cité

Feuille "Données_Listes1": Là où j'effectue un premier tri me permettant de faire un menu déroulant à partir d'une plage dans le tableau principale

Feuille "Données_Listes2": Dernier tableau, celui-ci sert de second filtre pour rechercher les objet en fonction du TYPE et de MARQUE choisi dans "Tableau_Stock". De là, un nouveau menu déroulant à partir d'une plage est créer dans le tableau principale.

C'est dans la dernière étape que ça coince, je ne parviens pas à avoir un résultat, j'ai passé deux après-midi là-dessus et je ne parviens pas à le résoudre, ça en deviens même frustrant car je ne vois pas où est l'erreur.

Si une bonne âme charitable passe par ce post, je le remercie d'avance, au vu de mes maigres connaissance de Excel et Sheet, je ne doute pas que la solution sera vite trouvée par d'autres bien plus expérimenté. Je vous met en Post-Scriptum mon projet au cas où cela peut vous aider à travailler sur le support directement.

Encore merci de l'accueil qui m'as été fait.

https://docs.google.com/spreadsheets/d/1BA9yOln7ijtR1_pufHpBHtczZg7w3Kot/edit?usp=sharing&ouid=11556...

Bonsoir,

Dans l'onglet "Données_listes2", tu as cette formule :

=SIERREUR(TRANSPOSE(UNIQUE(FILTRE(Tableau_Stock!$B$2:$B1000; (Tableau_Stock!$A$2:$A1000 = Plage_1) * (Tableau_Stock!$B$2:$B1000 = Plage_2)))); "Aucun modèle")

Là, tu multiplies entre elles 2 plages, qui contiennent du texte :

(Tableau_Stock!$A$2:$A1000 = Plage_1) * (Tableau_Stock!$B$2:$B1000 = Plage_2)

Tu t'attends à quel résultat ?

Cordialement,

Fil.

Je tente d'avoir comme résultat les données triée du tableau "Tableau-MARQUES + MODELES" en fonction des critères TYPE et MARQUE choisi dans le tableau principale. Une fois le résultat correct, je me base sur celle-ci pour faire un menu déroulant sur base d'une plage que j'insère dans la colonne nommée "MODELE" dans le tableau de stock.

Dites-vous que je suis passé par ChatGPT, je lui ai expliqué la problématique et il m'as donné cette formule et bien d'autre auparavant ne fonctionnant malheureusement pas

Peux-tu donner un exemple afin de modéliser une formule ?

Car là je ne comprends pas la démarche...

Je soushaite que dans le tableau principale, à savoir "Tableau-stock", quand je sélèctionne dans la colonne "TYPE" -> OBJET A, cela me donne comme résultat uniquement les noms des fabricants de l'objet dans la colonne "MARQUE". Une fois cela fais, dans la colonne "MODELE", il ne m'affiche plus que les modèles de la marque en fonction du type d'objet choisi.

Exemple:

Colonne "TYPE" -> OBJET A

Colonne "MARQUE" -> ABU, BETTERDRY, BAMBINO, DOTTY, FORSITE, ID, KIDDO, LNGU, MYLARCHE, NORTHSHORE, REARZ, TENA, TYKABLES (ici admettons que je choisisse ABU)

Colonne "MODELE" -> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

Dans les trois colonnes, il y aura bien entendu un menu déroulant à partir d'une plage, ces plages ayant pour source les données contenue dans les cellules dans les feuilles "Données-Listes1" pour la marques et "Données-Listes2" pour les modèles.

C'est un sujet régulièrement abordé. Il s'agit de listes déroulantes dépendantes en cascades.

Tu trouveras les solutions en faisant une recherche sur le forum ou le net !

Par exemple :

https://www.youtube.com/watch?v=Ro8OjUGcbYc

Cordialement,

Fil.

Je vais tenter d'appliquer ce que vais visionner dans la vidéo, je reviens vers vous si je ne trouve pas de résolution au problème. Déja je remercie de m'aiguiller sur une voie qui j'espère sera la bonne :)

=SIERREUR(transpose(unique(FILTER(MODELES;MARQUE=Tableau_Stock!$B2)*(TYPE=Tableau_Stock!$A2)));"Choisir un type")

Selon ChatGPT:
Le symbole

*

dans cette formule est un opérateur logique qui représente l'opération "ET". Il est utilisé pour combiner deux conditions et exige que les deux conditions soient vraies pour que la condition globale soit vraie.

Dans le contexte de la formule que nous avons discutée, (Marque=Tableau_Stock!$B2) * (Type=Tableau_Stock!$A2) signifie que les deux conditions suivantes doivent être vraies en même temps :

  1. Marque=Tableau_Stock!$B2: Cette condition vérifie si la valeur de la colonne "Marque" est égale à la valeur dans la cellule "Tableau_Stock!$B2".
  2. Type=Tableau_Stock!$A2: Cette condition vérifie si la valeur de la colonne "Type" est égale à la valeur dans la cellule "Tableau_Stock!$A2".

Si les deux conditions sont vraies pour une ligne donnée de vos données, alors cette ligne sera incluse dans le résultat filtré. Si l'une des conditions n'est pas vraie, la ligne ne sera pas incluse dans les résultats filtrés.

L'utilisation de l'opérateur * (ET) de cette manière permet de filtrer les données en fonction de plusieurs critères simultanément.

Cela fonctionne en partie mais je n'ai pas tout les produit si je reprend l'exemple:

Colonne "TYPE" -> OBJET A

Colonne "MARQUE" -> ABU, BETTERDRY, BAMBINO, DOTTY, FORSITE, ID, KIDDO, LNGU, MYLARCHE, NORTHSHORE, REARZ, TENA, TYKABLES (ici admettons que je choisisse ABU)

Colonne "MODELE" -> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

Cela ne me donne que le MODELE 1 et non tous, pour tout dire, après toute les valeurs seront remplacée par les réels nom des différents articles de chaque MARQUE

On y est presque, mais comme tu peux voire, le modèle 83 est encore proposé, lui est un TYPE B, j'ai retranscris que que tu a fais dans ton tableaux, tout simplement

tableau

C'est rectifié...

https://docs.google.com/spreadsheets/d/1l4KRncj472XwYe5x4rQQOqPEbmSYuF0I/edit?usp=sharing&ouid=10037...

Je l'ai fait avec 2 méthodes différentes pour exemples.

Avec QUERY :

=transpose(query('Tableau-MARQUES + MODELES'!$A$2:$C;"select C where A = '"&Tableau_Stock!A2&"' and B = '"&Tableau_Stock!B2&"' "))

Avec FILTER :

=transpose(unique(filter('Tableau-MARQUES + MODELES'!C$2:C;'Tableau-MARQUES + MODELES'!A$2:A = Tableau_Stock!A2;'Tableau-MARQUES + MODELES'!B$2:B = Tableau_Stock!B2)))


C'étais bien cela, mais purée pourquoi je ne l'ai pas vu, je m'en veux vraiement. J'ai repris votre formule avec la fonction filter, ajouté la fonction SIERREUR et en y incruster les plages que j'avais nommée dans "Tableau-MARQUES + MODELES", et ça fonctionne. Franchement Fil un tout grand merci à vous, sans votre aide et mes maigres connaissance en Google Sheet, j'y serais encore.

=transpose(unique(filter('Tableau-MARQUES + MODELES'!C$2:C;'Tableau-MARQUES + MODELES'!A$2:A = Tableau_Stock!A2;'Tableau-MARQUES + MODELES'!B$2:B = Tableau_Stock!B2)))
=SIERREUR(transpose(unique(filter(MODELE;TYPE=Tableau_Stock!$A2;MARQUE=Tableau_Stock!$B2)));"choisir un type") 

Pour bonus si je puis dire, j'ai fais avec Query aussi:

=SIERREUR(transpose(unique(query('Tableau-MARQUES + MODELES'!$A$2:$C;"select C where A = '"&Tableau_Stock!A2&"' and B = '"&Tableau_Stock!B2&"' ")));"choisir un type")
Rechercher des sujets similaires à "google sheet problematique formule"