XL 2016 filtrer un combobox à l'ouverture d'un userform

dindin

XLDnaute Occasionnel
bonjour le Forum
j'ai un combobox qui m'affiche la liste de la colonne A (liste non triée)

2020_DM_300
2020_TR_301
2020_DM_301
2020_TR_302
2020_DM_302
2020_TR_303
2020_TR_303
2020_TR_304
2020_DM_304
2020_TR_305
2020_DM_305
2020_TR_306
2020_DM_306
2020_DM_307
2020_DM_307
2020_TR_308
2020_DM_308
2020_TR_309

mon objectif c'est trier ou filtrer le combo à l'ouverture d'un userform sachant que TR veut dire travaux et DM déménagement
je voulais afficher que les éléments qui commence par "2020_TR " c'est à dire les travaux de l'année en cours.
j'arrive pas à trouver ce code
j'aurais besoin e votre aide
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Si l'année et le type d'action pouvaient être choisis préalablement dans d'autres ComboBox ce serait plus facile avec un objet ComboBoxLiées, et ça permettrait de retrouver le numéro de ligne dans base lors du choix dans cette liste.
Cela dit cet objet a aussi une méthode FiltrerLignes qui permet de limiter l'affichage à une certaine liste de numéros de lignes. Il suffirait donc d'établir la liste des numéros des lignes commençant pas "2020_TR"
 
Dernière édition:

dindin

XLDnaute Occasionnel
Bonjour.
Si l'année et le type d'action pouvaient être choisis préalablement dans d'autres ComboBox ce serait plus facile avec un objet ComboBoxLiées, et ça permettrait de retrouver le numéro de ligne dans base lors du choix dans cette liste.

Bonjour Dranreb
la référence du permis est composé de
l'année en cours _ type DM ou TR_N° incrémentale selon choix par exemple 2020-DM-302
voici le code :
VB:
Dim ks As Integer
ks = WorksheetFunction.CountA(Range("A2:A10000"))
TextBox1.Value = Format(Now(), "yyyy") & "_DM" & "_" & ks + 1
ce que vous proposez , c'est faire 2 combo
- année_type
- N° (pour pouvoir retrouver la ligne )
 

Dranreb

XLDnaute Barbatruc
Oui, si les 3 infos étaient dans 3 colonnes de la base, correspondant à 3 ComboBox confiées à un objet ComboBoxLiées de la ressource, celui ci pourrait communiquer la liste des numéros de lignes dans la base correspondant à l'ensemble des choix effectués. Aucune programmation à effectuer pour cela dans l'UserForm, sauf initialiser l'objet et l'instruire de sa charge dans la Sub UserForm_Initialize.
 

Discussions similaires

Statistiques des forums

Discussions
312 201
Messages
2 086 171
Membres
103 152
dernier inscrit
Karibu