Bonjour à tous,
L'Excel dont je parle dans la suite se trouve en PJ.
Je souhaite aujourd'hui appliquer un filtre sur mes lignes. Pour cela, je crée un bouton de commande. Celui si affiche un formulaire qui me demande ce que je souhaite filtrer, et je peux donc sélectionner parmi des choix proposés (qui correspondent aux choix possibles pour compléter la ligne "Type de projet"). Mon objectif est que, quand je sélectionne le choix "Façades", le code parcourt toutes les colonnes, uniquement sur la ligne "Type de Projet" et me cache les colonnes où le type n'est pas "Façade".
Pour cela, j'ai appliqué le code suivant :
Mon problème : Lorsque je clique sur le bouton Filtrer de mon Useform, rien ne se passe dans mon tableau. Le bouton Défiltrer fonctionne en revanche.
J'ai passé beaucoup de temps à le relire et à tenter de comprendre ce qui ne fonctionne pas, mais en vain.
Je remercie d'avance ceux qui prendront le temps de répondre à mon problème !
Ned2
L'Excel dont je parle dans la suite se trouve en PJ.
Je souhaite aujourd'hui appliquer un filtre sur mes lignes. Pour cela, je crée un bouton de commande. Celui si affiche un formulaire qui me demande ce que je souhaite filtrer, et je peux donc sélectionner parmi des choix proposés (qui correspondent aux choix possibles pour compléter la ligne "Type de projet"). Mon objectif est que, quand je sélectionne le choix "Façades", le code parcourt toutes les colonnes, uniquement sur la ligne "Type de Projet" et me cache les colonnes où le type n'est pas "Façade".
Pour cela, j'ai appliqué le code suivant :
VB:
Dim Col As Integer
Dim LastCol As Long
Dim Colonne_Actu As Long
Dim onglet As Worksheet
Sub Last()
'trouver la dernière coloonne du tableau
LastCol = Cells(1, Columns.Count).End(xlToLeft).Column
End Sub
Private Sub UserForm_Initialize()
With ComboBox1
.AddItem "Ouvrage Fonctionnel"
.AddItem "Ouvrage institutionnel"
.AddItem "Façade"
.AddItem "Syndic"
.AddItem "Retail"
.AddItem "Logements"
End With
End Sub
Private Sub Btn_CancelFiltre_Click()
Columns("A:IV").EntireColumn.Hidden = False
'IV est la dernière colonne existante
End Sub
Private Sub Btn_Filtrer_Click()
'boucle sur colonne
For Colonne_Actu = 7 To LastCol:
If Cells(6, Colonne_Actu) <> ComboBox1.Value Then
Columns(Colonne_Actu).EntireColumn.Hidden = True
End If
Next Colonne_Actu
End Sub
Mon problème : Lorsque je clique sur le bouton Filtrer de mon Useform, rien ne se passe dans mon tableau. Le bouton Défiltrer fonctionne en revanche.
J'ai passé beaucoup de temps à le relire et à tenter de comprendre ce qui ne fonctionne pas, mais en vain.
Je remercie d'avance ceux qui prendront le temps de répondre à mon problème !
Ned2