DECALER: Liste déroulante / Filtres multicritères

sarah33

XLDnaute Junior
Bonjour le forum,

Je travaille sur un fichier de gestion de stock.
Dans une feuille "Feuille1", il y a une base de données, contenant chaque article et ses informations ( REF, Fournisseur, Catégorie 1..2..3..., prix, désignation...) :

Je souhaite pouvoir utiliser des listes déroulantes, afin de retrouver mes articles rapidement sur une autre feuille: "Feuille2" grâce à des listes déroulantes contenant ses informations présentes sur la Feuille1:

Exemple:
Si je choisis Fournisseur Alpha en B2; alors en A1 il n'y aura dans la liste déroulante que les Références du Fournisseur Alpha.
Si en C2 je choisis une catégorie, alors les autres informations des listes déroulantes de A2 à G2 sont filtrées.
Lorsqu'une cellule est vide, c'est qu'aucun filtre n'est selectionné.

Pour la cellule H2, je souhaiterai que lorsque j'inscris un montant dans cette cellule, alors les listes déroulantes A2 à G2 sont filtrées pour les lignes étant inférieures ou égales au montant inscrit en H2, tout en tenant compte des filtres selectionnés en A2-G2.

Je n'ai aucune idée de comment m'y prendre... on m'a parlé d'une formule DECALER..

Merci d'avance pour votre aide.
 

Pièces jointes

  • test.xlsx
    10.1 KB · Affichages: 78
  • test.xlsx
    10.1 KB · Affichages: 101
  • test.xlsx
    10.1 KB · Affichages: 99
Dernière édition:

Dugenou

XLDnaute Barbatruc
Re : DECALER: Liste déroulante / Filtres multicritères

Bonjour,
par formule ça me paraît extrèmement complexe puisque chaque liste déroulante dépendrait de tous les autres choix dans toutes les autres colonnes : la seule solution me semble être un userform avec des macros
 

sarah33

XLDnaute Junior
Re : DECALER: Liste déroulante / Filtres multicritères

Bonjour,

Merci beaucoup pour ce userform !!

  • Comment supprimer des Filtres svp?
  • A quoi sert le textbox en haut à gauche du UF?
  • Est ce possible de prévoir un textbox pour inscrire ce montant, et attribuer ce textbox à une colonne exemple pour le prix.
    Le filtre afficherai toutes les lignes pour lesquelles la colonne attribuée est < ou = à la somme inscrite ?
  • Est-ce possible d'ajouter un bouton sous les Filtres pour le Trie: Croissant au premier clique ou Décroissant au second click ?


Merci d'avance !! :)
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : DECALER: Liste déroulante / Filtres multicritères

Bonsoir sarah33,

Une version qui mélange un travail perso et une partie du fichier de BOISGONTIER ( :) que je remercie pour le formulaire et la procédure de tri).

Pour afficher le formulaire, il faut double-cliquer,

  • soit dans une cellule du tableau de la feuille "Result"
  • soit dans une cellule de la ligne vide après la dernière ligne du tableau

Description du formpulaire:

  • le textbox en haut à gauche affiche le nombres de lignes répondants aux critères
  • cliquer sur le label "Afficher tout" réinitialise tous les critères
  • le textbox "Max €" permet de saisir le seuil au delà duquel les lignes sont ignorées. Il faut valider la saisie du max par la touche "Entrée" pour la prise en compte de ce critère
  • cliquer sur le label "raz" efface le seuil
  • cliquer sur les labels "-/+" trie l'affichage (alternativement en ordre ascendant puis descendant)
  • cliquer sur le bouton "Valider" transfère la ligne sélectionnée (au sein de la liste) vers la feuille "Result". Les données sont transférées vers la ligne de la cellule sur laquelle on a double-cliqué
  • cliquer sur le bouton "Abandonner" (tout comme la touche "Echappement"), referme le userform

rem: il y a des interactions entre le fait d'avoir un seuil max ou non et la valeur de la liste déroulante des montants.

Attention ! préférez la version v1b ICI qui corrige un bogue et ajoute une fonction de copie de toute la liste filtrée vers la feuille "Result".
 

Pièces jointes

  • sarah33-test v1.xlsm
    33.6 KB · Affichages: 73
  • sarah33-test v1.xlsm
    33.6 KB · Affichages: 75
  • sarah33-test v1.xlsm
    33.6 KB · Affichages: 59
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : DECALER: Liste déroulante / Filtres multicritères

Bonjour sarah33,

Une version v1b qui:

  • corrige un bogue lié à une étourderie coupable :eek:
  • modifie quelques procédures au niveau de la lecture des données
  • ajoute un bouton "Insérer tout" qui transfère toute la liste filtrée vers la feuille "Result" soit à la fin du tableau existant soit en écrasant le tableau existant
 

Pièces jointes

  • sarah33-test v1b.xlsm
    42.5 KB · Affichages: 59
Dernière édition:

sarah33

XLDnaute Junior
Re : DECALER: Liste déroulante / Filtres multicritères

Bonjour tout le monde !!

Merci beaucoup pour cette version modifiée mapomme !!
  • Le Label "choix 6 est une colonne correspondant au STOCK. Les valeurs seront numériques. Lorsque je met du numérique, ça ne marche pas.. J'aimerai remplacer le Filtre par une case à cocher correspondant à un filtre : >0 (lorsque la case est cochée, alors les valeurs affichées sont celles >0).
  • Concernant le bouton valider: j'aimerai qu'il fasse une toute autre fonction: lorsque je selectionne une ligne dans la liste, alors je rentre une Quantité dans la zone de texte prévue pour cela, et lorsque je tape "valider", ca envoi la ligne dans le deuxième list box: Cependant, le LABEL choix 6 du 2eme listbox correspond à Quantité: il faut que la quantité précédemment saisie dans la zone pour ça s'affiche dans cette nouvelle ligne, à ce nouveau emplacement.
  • Il y a également 2 nouveaux Textbox: le premier "nombre d'articles" compte le nombre d'article qu'il y a dans la listbox : ( ligne * quantité). Le second, "Prix Total" compte le prix total de la selection d'article: (ligne * Quantité * prix) pour toute la liste box.
  • La dernière étape est la saisie des informations du second listbox dans la feuille excel. J'aimerai qu'il compte la dernière ligne de la page, et qu'il insère en dessous les lignes du dernier listbox:
  • Si on appuis sur entrée de stock, alors les lignes sont ajoutées à sauf la Quantité qui va dans : la colonne Quantité Entrée
  • Si on appuis sur sortie de stock, alors les lignes sont ajoutées à l'identique, sauf la Quantité qui va dans : la colonne Quantité Sortie


Merci à tous pour votre aide!!

Sarah
 

Pièces jointes

  • sarah33-test v2.xlsm
    35.8 KB · Affichages: 53
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : DECALER: Liste déroulante / Filtres multicritères

Bonjour sarah33,

Les modifications (très bien décrites) que vous demandez ne sont pas aussi anodines qu'elles peuvent le laisser paraître. J'ai l’impression qu'on s'oriente de plus en plus vers une véritable gestion de stock et dans ce domaine, un logiciel comme Access est beaucoup plus efficace. On a commencé avec Excel, on va continuer :rolleyes:.

Je vais examiner ce que la nouvelle demande induit comme modifications, ajouts et construction un peu plus modulaire.

En préambule, des petites questions:

  • Chaque article a-t-il une référence ?
  • Chaque article a-t-il une référence unique (il y a plusieurs fournisseur, est il possible qu'une même référence se retrouve chez deux fournisseurs) ?
si la réponse est non à la première question et/ou oui à la deuxième, c'est faisable malgré tout, mais ça complique.

A première vue, je proposerai, peut-être, quand on clique sur une ligne filtrée, un affichage d'un deuxième userform. Ce userform afficherait tous les champs de la ligne filtrée, permettrait les modif. de tous les champs (le prix peut aussi varier ou l'intitulé). Une validation de ce userform transférerait l'enregistrement modifié vers le second ListBox.

Je n'ai guère de temps à consacrer au problème aujourd'hui si ce n'est d'y réfléchir pour le faire mûrir.

A bientôt (à moins qu"une bonne âme du forum, ne le fasse entre temps :))...

nb: si vous découvrez de nouveaux souhaits, n'hésitez pas SVP, à les poster le plus rapidement possible, avant que je ne me lance dans le codage.
 
Dernière édition:

sarah33

XLDnaute Junior
Re : DECALER: Liste déroulante / Filtres multicritères

Bonjour mapomme !

Merci pour votre aide.

La Référence d'un article est unique: chaque article a sa propre Référence.
Ma vision des choses:
Tout d'abord la constitution de mes feuilles Excel:
  • 1 feuille : FICHE ARTICLE qui reprend chaque article (1 article = 1 ligne) avec ses différentes infos, dont l'info du STOCK.
    Le stock est une valeur calculée.
  • 1 autre feuille: MOUVEMENT STOCK: qui reprend chaque entrée et chaque sortie d'article

  • Le premier Listbox permet d'afficher avec Trie & Filtre l'ensemble de mes articles et leurs infos: ces infos se trouvent dans la feuille FICHE ARTICLE.
  • Le second listbox permet faire une sélection d'article, et d'y assimiler une quantité.
  • Lorsqu'on utilise les boutons ENTRE DE STOCK ou SORTIE DE STOCK, les lignes de cette listbox sont retranscrites dans la feuille MOUVEMENT STOCK. Une colonne pour les entrée, et une pour les sorties.

Derrière, j'ai un TCD qui fait le calcul pour chaque de entrée - sortie, et qui me permet de rapatrier le niveau de stock réel dans la FICHE ARTICLE.

Voilà pour mon projet.
Pour info: j'avais commencé à faire une belle architecture sous ACCESS, mais mes limites en VBA et la rareté de forum de ce type en ACCESS m'a obligé a renoncer et à retourner sur Excel ! mais ma fois... c'est peut etre mieux comme ça !

Je vais mettre en ligne une version excel à jour.

Merci pour votre aide!


sarah
 
Dernière édition:

sarah33

XLDnaute Junior
Re : DECALER: Liste déroulante / Filtres multicritères

Concernant de nouveaux souhaits....
Je pensais également à ajouter:
  • une fonctionnalité pour permettre d'ajouter/supprimer/modifier un article de la FICHE ARTICLE.
  • une fonctionnalité pour permettre d'affecter à une sortie de stock un CLIENT.... pour plus tard, pouvoir gérer les clients via listbox de la meme manière que les articles: utiliser des filtres , pour connaitre les achats par client, ou les clients par produits (dans ce cas la listbox serait liée cette fois aux mouvement de stock et non plus a la Fiche article, et également à une nouvelle FICHE CLIENT qui reprendrait l'ensemble des infos client: une ligne = 1 client).
  • une fonctionnalité pour permettre d'affecter chaque entrée de stock à un FOURNISSEUR (sous le meme principe que les CLIENTS), et il faudrait également une nouvelle fiche FOURNISSEUR.


Cependant, ne maitrisant pas du tout le VBA... ma volonté était d'y aller étape par étape..

Merci pour l'intérêt que vous portez à mon projet !!

sarah
 

sarah33

XLDnaute Junior
Re : DECALER: Liste déroulante / Filtres multicritères

Hello,

Voilà mon fichier avec:
* FICHE PRODUIT: information de chaque article : 1 ligne = 1 article
* MOUVEMENT DE STOCK: chaque ligne = une entrée ou une sortie
* TCD: le tableau croisé dynamique qui me permet de calculer les stock pour chaque article

Je n'ai pas encore réussi à rappatrier le niveau de stock par article dans la FICHE PRODUIT..

Voilà

A bientot

sarah
 

Pièces jointes

  • Sarah 1.xlsx
    16.8 KB · Affichages: 73
  • Sarah 1.xlsx
    16.8 KB · Affichages: 84
  • Sarah 1.xlsx
    16.8 KB · Affichages: 96

Discussions similaires

Statistiques des forums

Discussions
312 169
Messages
2 085 925
Membres
103 043
dernier inscrit
nouha nj