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 :D

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

Statistiques des forums

Discussions
312 330
Messages
2 087 335
Membres
103 521
dernier inscrit
Excellover 21