Bonjour à tous,
J'ai besoin d'un coup de pouce pour un fichier Excel. J'ai mis une "reproduction" de celui-ci en PJ.
J'ai besoin de filtrer un tableau (Onglet "Tableau") à partir d'une liste variable située dans la colonne d'un autre onglet (Colonne A, onglet "Liste"). Le problème, cette liste de critères est longue (jusqu'à une centaine et est variable).
J'ai déjà commencé une macro (fonctionnelle) basique mais peu pratique :
Private Sub CommandButton1_Click()
Dim FiltreA As String
Dim FiltreB As String
FiltreA = Range("A2").Value
FiltreB = Range("A3").Value
Workbooks("Classeur1.xlsm").Worksheets("Tableau").Range("$A$1:$D$1").AutoFilter Field:=1, Criteria1:=Array( _
FiltreA, FiltreB), Operator:=xlFilterValues
End Sub
J'aimerai donc trouver un moyen de regrouper l'ensemble de mes critères en une variable afin de pouvoir filtrer sans devoir écrire "FiltreC", "FiltreD",... 100 fois
Je comptais utiliser :
Dim Condition As Long
Condition = Range("A" & Rows.Count).End(xlUp).Row
Dim Compteur As Long
Compteur = 1
Dim Chaine As String
Do While Compteur <= Condition
NomVariable = Range("A" & Compteur).Value
Chaine = Chaine & """" & NomVariable & """, "
Compteur = Compteur + 1
Loop
Je ne sais pas si c'est ce qu'il y avait de plus simple à faire mais une fois la chaîne créée, je n'arrive pas à l'intégrer à mon autofilter.
Je n'ai penser qu'à ça comme méthode. Quelqu'un a-t-il une proposition ? Ou une autre méthode pour réaliser cela ?
Désolé si la question est confuse ou la réponse évidente, je débute encore dans le VBA.
Merci d'avance pour les réponses que vous pourrez m'apporter et bon week-end