XL 2010 Filtre inversé

krazadenn

XLDnaute Nouveau
J'essaye d'adapter le filtre inversé de Pascal (https://www.excel-downloads.com/threads/filtre-inverse.38186/) sur mon fichier et je souhaiterai régler 2 problèmes :
- pouvoir filtrer (afficher à plusieurs colonnes) : pour l'instant, je n'ai pas trouvé comment sélectionner plusieurs colonnes pour qu'elles restent affichées
- pouvoir conserver les couleurs des cellules quand je défiltre.

Voici mon fichier en pièces jointes
Je filtre sur le ligne 1
Merci pour vos réponses
 

Pièces jointes

  • SUIVI FILTRE 140220.xls
    104 KB · Affichages: 10

Staple1600

XLDnaute Barbatruc
Bonjour le fil, krazadenn (merci de m'avoir lu là-bas ;))

krazadenn
Si j'ai compris ce qu'il faut filtrer/défiltrer, je propose ce petit code
(qui fait les deux actions dans la même macro)
1ère exécution: filtre
2ième exécution: défiltre
VB:
Sub Filtrer_Défiltrer()
Dim i&
Application.ScreenUpdating = False
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
Cells(1, i).EntireColumn.Hidden = Cells(1, i) <> 1 = Not Cells(1, i).EntireColumn.Hidden
Next
End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Ouch, ardue est la voie, de celui qui débute en VBA veut se lancer dans l'adaptation d'un code VBA "non débutant" :eek: ;)
Pour insérer du VBA: ALT+F11
puis (pour ce qui concerne mon bout de code) => Insertion/Module
Dans la carré blanc, (à droite), copier/coller mon code puis ALT+F11
Enfin Affichage/Macros
Et là exécuter la macro nommée: Filtrer_Défiltrer
 

krazadenn

XLDnaute Nouveau
ok la voie est ardue est mais si l'explication est claire , le débutant peut y arriver et je t'en remercie.
Donc j'ai bien inséré ton code....
Cependant quand j'execute la macro : c'est toutes les colonnes ou uniquement les colonnes qui portent le chiffre 1 en première ligne qui s'affiche. Or je souhaite pouvoir sélectionner plusieurs colonnes : exemple les 1,10 et 11
En outre, est il possible de remplacer l’activation du filtre ou du défiltre par un bouton sur le fichier ?
 

Staple1600

XLDnaute Barbatruc
Re

Pourquoi quand même ?
Un simple merci suffisait :rolleyes:

Une version avec choix des colonnes (pas forcément ergonomique)
mais puisque j'ai pondu ce truc, je le poste
VB:
Sub Filtrer_Défiltrer_V2()
Dim i&, j&, colonnes
Application.ScreenUpdating = False
colonnes = Split(InputBox("Choix des colonnes?", "Test", "1,10,12"), ",")
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
For j = LBound(colonnes) To UBound(colonnes)
Cells(1, i).EntireColumn.Hidden = Cells(1, i) <> colonnes(j) * 1 = Not Cells(1, i).EntireColumn.Hidden
Next j
Next i
End Sub
 

Discussions similaires

Réponses
1
Affichages
920

Statistiques des forums

Discussions
312 206
Messages
2 086 203
Membres
103 157
dernier inscrit
youma