Autres Excel 2021 - Filtre d'un TS pour alimenter un combobox

Cousinhub

XLDnaute Barbatruc
Bonjour,
Je n'arrive pas à utiliser la fonction Filter en VBA, afin d'alimenter un combobox à partir d'une colonne d'un Tableau Structuré, en ignorant les cellules vides (ou égales à "").
Par le biais d'un Dictionary ou autre tableau, pas de pb, mais je voudrais vraiment utiliser cette fonction Filter.
Vous remerciant par avance.
Voir dans le fichier un exemple, où le combobox serait alimenté par les valeurs non nulles de la colonne "resultat"
 

Pièces jointes

  • Filter_TS.xlsm
    15.7 KB · Affichages: 5

Cousinhub

XLDnaute Barbatruc
Bonjour,
@Dranreb
Merci pour tes propositions, mais dans mes rêves, j'espérais une seule ligne de commande, et qui commencerait par "Filter"..
Maintenant, pour mon 5000 ème post, tu me fais un beau cadeau...😵‍💫
Comme ce fichier est destiné à plusieurs postes, je ne peux leur demander d'installer une macro complémentaire, et pour ta deuxième réponse, avec le fichier, c'est comme si on livrait une boîte d'allumettes avec un 38Tonnes... (Lol)
Je te remercie quand même, et te souhaite une bonne journée

1667474095077.png
 

Dranreb

XLDnaute Barbatruc
C'est pour ça que le plus souvent j'installe les modules de services à même le projet VBA utilisateur, le CBxLCtlA.xlsm ne servant qu'à consulter sa page d'aide.
Mais dans l'UserForm c'est quand même très peu d'instructions pour ça, non ?
 

Cousinhub

XLDnaute Barbatruc
Re-,
Sinon, j'avais ceci comme code, qui fonctionne, "mais" qui impose un ajout/suppression de "nom".
VB:
Private Sub UserForm_Initialize()
Range("t_Essai[resultat]").Name = "MonR"
Me.ComboBox1.List = Filter([Transpose(If(MonR="","@~@",MonR))], "@~@", 0)
ThisWorkbook.Names("MonR").Delete
End Sub

Je sais, je pinaille, mais c'était juste pour savoir si on pouvait fusionner ces lignes, pour au final, n'en avoir qu'une...
Merci pour ta participation, et bonne journée à tous(tes)
 

Dranreb

XLDnaute Barbatruc
Le problème c'est que pour autant que je sache cette fonction Filtrer ne propose pas une liste classée et sans doublon, et que si on la traite par d'autres outils pour l'avoir ainsi, après, on n'a aucune facilité pour retrouver la ou les lignes où chaque valeur figuerait. Tandis que ma Function SujetCBx renvoie tout ce qu'il faut dans un seul Variant.
 

Staple1600

XLDnaute Barbatruc

chris

XLDnaute Barbatruc
Bonjour à tous
Le problème c'est que pour autant que je sache cette fonction Filtrer ne propose pas une liste classée et sans doublon, et que si on la traite par d'autres outils pour l'avoir ainsi, après, on n'a aucune facilité pour retrouver la ou les lignes où chaque valeur figuerait. Tandis que ma Function SujetCBx renvoie tout ce qu'il faut dans un seul Variant.
Se combine avec SORT et UNIQUE : exemple sur un autre cas
VB:
Me.ComboBox1.List = [SORT(UNIQUE(FILTER(T_essai2[Ville],YEAR(T_essai2[date])=2020)))]
 

Discussions similaires

Statistiques des forums

Discussions
312 205
Messages
2 086 199
Membres
103 156
dernier inscrit
Ludo94130