MACRO FILTRE AUTOMATIQUE

Fermé
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009 - 31 août 2009 à 10:50
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009 - 2 sept. 2009 à 14:36
Bonjour,

j'ai un tableau de quelques milliers de lignes.

je cherche à créer un filtre automatique sur une colonne (par exemple la B) avec plusieurs critères.

CAD que la macro me cache toutes les ligne dont le mot de la colonne B n'est ni "internet", ni "femme", ni "ordinateur" etc...etc...

pouvez vous me donner la solution.

je commence a me mettre au macro et je risque de solliciter souvent votre aide.

un grand merci aux utilisateurs qui me fileront un coup de main.


roni77300
A voir également:

3 réponses

m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 11 383
31 août 2009 à 14:00
Bonjour,

Par le filtre automatique, on ne peut utiliser que 2 critères, VBA ou pas.
Donc voici un code qui utilise une autre solution :

Sub filtre()

For Each cellule In ActiveSheet.Range("B:B")
If cellule.Value = "internet" Or cellule.Value = "femme" Or cellule.Value = "ordinateur" Then
cellule.EntireRow.Hidden = True
End If
Next

End Sub


m@rina
1
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009
1 sept. 2009 à 15:19
bonjour,

puisque le filtre automatique n'a que deux critere maximum, je souhaite mettre en place une macro qui me masque automatiquement les lignes.

je m'explique :

dans mon tableau, j'aimerai que la macro me masque la premiere ligne si le contenu de sa colonne B n'est ni "allo", ni "bonjour", ni "pourquoi", ni "faim", ni "peur". et que la macro fasse cela jusqu'a la derniere ligne du tableau.

merci bien de m'avoir répondu une premiere fois. j'espere que tu pourras m'aider sur mon nouveau probleme.

bonne apres midi !
0
m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 11 383
1 sept. 2009 à 17:32
Bonjour,

puisque le filtre automatique n'a que deux critere maximum, je souhaite mettre en place une macro qui me masque automatiquement les lignes.

Euh... et à ton avis, elle sert à quoi la macro que je t'ai écrite ????

m@rina

0
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009
2 sept. 2009 à 09:53
Bonjour,

j'ai essayé Ta requete.

voila ce que cela donne :

Sub filtre()

For Each cellule In ActiveSheet.Range("E:E")
If cellule.Value = "SOUS-RESEAU DEPART.COURRIER" Or cellule.Value = "IZ ROUTE" Or cellule.Value = "REGIONAL COURRIER" Then
cellule.EntireRow.Hidden = True
End If
Next

End Sub

lorsque j'éxécute la macro, les lignes dont la valeur de la colonne E sont "SOUS-RESEAU DEPART.COURRIER" ou les deux autres criteres, disparaissent.

je voudrait au contrairet, que ca soit ces lignes là qui restent.

je te remercie pour ta réponse.
0
m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025 11 383 > roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009
2 sept. 2009 à 14:22
Bonjour roni77300

Dans ce cas essaie ceci :

Sub filtre()

For Each cellule In ActiveSheet.Range("E:E")
If cellule.Value <> "SOUS-RESEAU DEPART.COURRIER" And cellule.Value <> "IZ ROUTE" And cellule.Value <> "REGIONAL COURRIER" And cellule.Value <> "" Then
cellule.EntireRow.Hidden = True
End If
Next

End Sub


J'ai fait le test sur toute la colonne E, mais tu peux limiter à ta plage. Dans ce cas à la place de E:E, mets la plage précise.

m@rina
0
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009 > m@rina Messages postés 21297 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 25 janvier 2025
2 sept. 2009 à 14:36
bonjour M@rina.

un grand merci.

seulement, j'aimerai juste que la premiere ligne ne soit pas prise en compte dans cette manip'.
0
roni77300 Messages postés 25 Date d'inscription lundi 31 août 2009 Statut Membre Dernière intervention 27 octobre 2009
1 sept. 2009 à 18:50
bonsoir.

oups :-)

désolé marina.

je pensai que tu restais sur un filtre auto. comme tu vois je n'y connais rien.

je réessaye demain.

promis je te tiens au courant... promis aussi si j'ai d'autres probleme je te recontact.


encore merci et bonne soirée

roni77300
0