Trier une base de données suivant le choix fait dans la zone de liste

Arnold35

XLDnaute Junior
Bonjour à vous chèr(e)s expert(e)s Excel,

Je travaille sur un fichier de validation des étapes de facturation par les différents acteurs concernés. (Approbation réception marchandises par l'acheteur => approbation montant facturé par le comptable / Approbation de la facture par le signataire responsable)

N'ayant pas de logiciel de signature électronique (bien pratique au demeurant), je dois présenter un modèle Excel à ma direction qui permettrait un contrôle à toutes les étapes par les acteurs concernés.

J'ai donc créé un fichier retraçant les commandes passées par l'acheteur, agrémenté d'une colonne de validation de chaque étape par chaque acteur.

Je souhaiterais ajouter une zone de liste ou Listbox permettant aux utilisateurs de filtrer plus facilement les données qui les concernent dans le tableau qu ils alimentent (ex: l'acheteur peut filtrer les lignes de commandes en attente de validation de réception, etc...)

J'ai insérer la listbox dans ma feuille Excel au dessus de la base de commandes, mais je n'ai aucune idée comment affecter une macro de filtrer à celle-ci en fonction du critère choisi.

Je vous joins le fichier Excel (les données étant à titre d'exemple), cela sera peut-être plus clair.


Je suis preneur de bons conseils car je bloque totalement bien qu'ayant rechercher dans le forum (ou alors je n'ai pas cherché au bon endroit :( )

N'hésitez pas à me reposer des questions si je n'ai pas été clair dans mes explications.
 

Pièces jointes

  • Modèle validation des commandes V2.xlsm
    95 KB · Affichages: 31

Paf

XLDnaute Barbatruc
Re : Trier une base de données suivant le choix fait dans la zone de liste

Bonjour

en utilisant des listbox de type activeX , la programmation est plus facile

par exemple

Code:
Private Sub ListBox1_Click()
    Range("A15").AutoFilter Field:=8, Criteria1:=ListBox1.Value
End Sub

affiche les données qui ont en colonne 8 la valeur sélectionnée dans la listbox.

Mais il faut que les valeurs de la listbox soient celles utilisées dans le tableau, ou bien faire une table de correspondance

A+
 

Arnold35

XLDnaute Junior
Re : Trier une base de données suivant le choix fait dans la zone de liste

Ok je te remercie Paf.

En revanche lorsque j'essaye d'insérer une zone de liste (active x) dans la feuille excel, un message apparait en me disant "impossible d'insérer un objet" ??

Dois-je créer la listbox à travers un formulaire dans le développeur VBA?

Merci beaucoup
 

Arnold35

XLDnaute Junior
Re : Trier une base de données suivant le choix fait dans la zone de liste

Alors finalement j'ai utilisé une méthode plus simple car je n'arrivais pas à remplir les listbox avec les critères souhaités.

En revanche j'ai une autre question (je ne sais pas si je dois recréer un sujet?). Je souhaiterai protéger la feuille, seulement quand je la protège, les boutons et les cases d'options ne fonctionnent plus.

Avez vous une astuce?

Je rejoins le fichier à jour.

Merci!
 

Pièces jointes

  • Modèle validation des commandes V3.xlsm
    98.2 KB · Affichages: 25

Paf

XLDnaute Barbatruc
Re : Trier une base de données suivant le choix fait dans la zone de liste

Re bonjour

a priori, dans chaque macro lié à une case d'option, rajouter
en début :ActiveSheet.Unprotect ou ActiveSheet.Unprotect MdP ou ActiveSheet.Unprotect "MdP" ou MdP est le mot de passe

en fin :ActiveSheet.Protect ou ActiveSheet.Protect MdP ou ActiveSheet.Protect "MdP" ou MdP est le mot de passe

Bonne suite
 

Discussions similaires