Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Filtrer un tableau avec une macro avec une variable

chr1s

XLDnaute Nouveau
Bonjour,

Première question ^^

J'ai 3 feuilles dans un classeur :

Feuille A : 2 combobox + 1 listebox

combobox "statut" : recense dans la listebox toutes les lignes reprises dans les tableaux de la feuille "attente" & "en cours" suivant ce qui est choisi

combobox 2 "projet : filtre le tableau de la feuille "attente" ou "en cours" en fonction d'un NOM qui se retrouve dans la 1ère colonne du tableau

Feuille "attente" : tableau "attente" (format as table) avec une série de colonne dont la 1ère contient un NOM

Feuille "en cours" : tableau "en cours" (format as table) avec une série de colonne dont la 1ère contient un NOM

Ma macro :

Code:
Private Sub cb_projet_Change()

Dim name_attente As String

Me.lb1.Clear 'nettoyage de la listbox

If Me.cb_projet.Value = "" Or IsNull(Me.cb_projet) Then
Exit Sub
End If
name_attente = Me.cb_projet.Value 'je récupère le NOM

ActiveSheet.ListObjects("attente").Range.AutoFilter Field:=1, Criteria1:=name_attente # PROBLEM #
Me.lb1.List = Sheets(Me.cb_statut.Value).Range(Me.cb_statut.Value).Value

End Sub

Mon problème se situe au niveau # PROBLEM #, j'aimerai qu'il me filtre mon tableau sur la variable "name_attente" mais ça ne fonctionne pas ... une idée ?
 

Roland_M

XLDnaute Barbatruc
Re : Filtrer un tableau avec une macro avec une variable

bonsoir,

sans un classeur il n'est pas possible de solutionner !?

Private Sub cb_projet_Change()
Dim name_attente As String
name_attente = Trim(cb_projet.Value): If name_attente = "" Then Exit Sub
'suite ...
ActiveSheet.ListObjects("attente").Range.AutoFilter Field:=1, Criteria1:=name_attente
'MAIS ICI C'EST PAS CLAIR DU TOUT !?
'"cb_statut.Value" = nom de feuille et de Range() !?!? c'est un peu tordu, non !?
Me.lb1.Clear 'nettoyage de la listbox
Me.lb1.List = Sheets(cb_statut.Value).Range(cb_statut.Value).Value
End Sub
 

chr1s

XLDnaute Nouveau
Re : Filtrer un tableau avec une macro avec une variable

c'est p-e tordu mais ça sort comme ça de ma tête

j'ai finalement trouvé comment filtrer suivant le résultat de ma combobox

Private Sub cb_projet_Change()
Dim name_attente As String
Me.lb1.Clear
If Me.cb_projet.Value = "" Or IsNull(Me.cb_projet) Then
Exit Sub
End If
name_attente = Me.cb_projet.Value

Sheets(Me.cb_statut.Value).Select
ActiveSheet.ListObjects(Me.cb_statut.Value).Range.AutoFilter Field:=1, Criteria1:="=" & Me.cb_projet.Value

Me.lb1.List = Sheets(Me.cb_statut.Value).Range(Me.cb_statut.Value).Value

End Sub



btw merci pour ton aide ^^
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…