Macro Excel filtre a partir d'une liste [Résolu/Fermé]

Messages postés
3
Date d'inscription
jeudi 13 novembre 2008
Statut
Membre
Dernière intervention
26 novembre 2008
- - Dernière réponse :  guyrobert - 23 nov. 2008 à 19:15
Bonjour à tous,

Je souhaite à partir d'une liste dans la feuille 2 renseigner le filtre dans la feuillle 1.
J'ai tapé un code mais celui-ci ne fonctionne pas.
Le filtre est bien selectionné mais la feuille est blanche.
Merci d'avance pour l'aide.

Codes :
Sub NomCopie()

Sheets("Feuil2").Select
Range("A2").Select
Selection.Copy
Sheets("Feuil1").Select
NomCopié = Selection.Copy
Selection.AutoFilter Field:=3, Criteria1:=NomCopié

End Sub

Ou

Sub NomCopie2()

Sheets("Feuil2").Select
Range("A2").Activate
NomCopié = Range("A2").Activate
Sheets("Feuil1").Select
Selection.AutoFilter Field:=3, Criteria1:=NomCopié

End Sub
Afficher la suite 

8 réponses

Meilleure réponse
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
4
Merci
Bonjour,
Sub NomCopie()

Sheets("Feuil2").Select
NomCopié = Range("A2")
Sheets("Feuil1").Select
Selection.AutoFilter Field:=3, Criteria1:=NomCopié

End Sub
ou plus simplement
Sheets("Feuil1").Select
Selection.AutoFilter Field:=3, Criteria1:=Sheets("Feuil2").Range("A2")
A+

Dire « Merci » 4

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 71291 internautes nous ont dit merci ce mois-ci

Boujour Lermitte222

Merci pour les codes, je viens de tester. Malheureusement j'ai une erreur qui ce produit:
Erreur d'exécution 1004
La méthode autofilter de la classe range a échoué

J'ai fais des recherches sur internet mais en vain.
Je n'ai rien trouvé sur sujet.
Je ne désespère pas de trouver la solution.

Merci beaucoup pour ton aide.

J'espère à bientôt
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
0
Merci
Bonjour,
J'ai pas vraiment regarder ce que tu veux faire mais il est conseillé, quand ont travaille sur plusieur feuilles de mettre les macro dans un module général et non dans un module de feuille.
A+
Messages postés
3
Date d'inscription
jeudi 13 novembre 2008
Statut
Membre
Dernière intervention
26 novembre 2008
0
Merci
Bonjour Lermite222,

Merci pour ta réponse.
J'ai mis la macro dans un module Général et non dans la feuille.
J'espère que tu pourras m'aider dans ma démarche pour la résolution du problème.
Je structe actuellement le forum. Je n'ai pas encore trouvé la réponse à ma question.
Cela dit au passage le forum est géniial
Une mine d'or.
Je me manquerai pas de le faire connaître.
J'espère à bientôt
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
0
Merci
Field doit être le N° de la colonne et il ne doit pas y avoir de cellule vide pour commencer
J'ai tester les 2 et ça fonctionne normalement.
Vérifie que les noms de feuille sont juste, attention !! il arrive souvent qu'il y a un espace en fin des noms de feuilles, le plus sûr c'est de faire un copier/coller de l'onglet.
A+
Bonjour Lermite222

Effectivement une erreur sur la feuil1, il y avait un espace.
Je te remercie pour ton aide.
J'aimerais m'améliorer en macro. J'ai parcouru 2 livres sur le sujet. Par contre je ne peux pas dire que sans les exemples donnés dans les livres je sois capable de programmer.
J'en veux pour preuve l'aide demandé.
Aurais-tu de la litérrature ou site a me conseiller pouvant m'aider à progresser sur le sujet?
J'aimerais aussi pouvoir à mon tour aider des internautes en difficultés pour le développement de programme.

Je te remercie encore de l'aide précieuse que tu m'a apporté.

A bientôt
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
0
Merci
Re,
Ce n'est pas mon habitude d'envoyer un membre de CCM sur un autre site cependant, étant donner qu'il n'y a pas de cour similaire sur CCM, Voir ce cours très instructif parmi tant d'autre.
N'oublie pas google, suffit de mettre les bonnes questions.
A+
Bonjour Lermite222,


Merci pour le lien. et ton aide.
J'ai découvert que je pouvais écrire en abrégé le défaut recherche et que le filtre fonctionnait.
Je m'explique :
Par exemple : ALARME ENCLENCHE devient =*ALARME* et j' ai toute les ALARMES
Lors de ma visite sur le forum j'ai vu dans une conversation dans lequel une personne avait une difficultée.
Son code était :
Sub RechercheNom()
NomRecherché = InputBox("RECHERCHE PAR NOM", "Saisissez le nom recherché")
Selection.AutoFilter Field:=1, Criteria1:=NomRecherché
End Sub
Il faut tapé le Nom recherché exact à moins de tapé =*le titre abrégé*
je vais retourner sur cette discution pour lui donner l'information.

Une autre question :
J'ai tenté ce code pour des dates:

Sub Macro1()

Selection.AutoFilter Field:=7, Criteria1:=Sheets("Liste").Range(">=E5"), Operator:=xlAnd _
, Criteria2:=Sheets("Liste").Range("=<F5")

End Sub

Mais cela ne fonctionne pas.
Je souhaite pouvoir lancer l'analyse entre 2 dates
J'ai tenté de mettre >= dans la cellule E5 et =< dans la cellule F5 sans succès.
Aurais-tu une solution?

Je te remercie d'avance pour tous

A bientôt
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
0
Merci
Essaye avec.. (pas tester)

Selection.AutoFilter Field:=7, Criteria1:=">=" & Sheets("Liste").Range("E5"), Operator:=xlAnd _ 
, Criteria2:="<=" & Sheets("Liste").Range("F5") 

J'ai dit que Fiel c'était la colonne mais c'est pas tout à fait juste, c'est le N° du filtre à partir du premier ce qui veux dire que sur la ligne des filtres la colonne A et B est vide le Field1 est à la colonne C
A+
Bonjour Lermite222,

Je te remercie pour ton aide. Le code ne fonctionne malheureusement pas.
J'ai fait des recherches sur le net mais sans succès.
Je vais continuer mes recherches.

Merci encore pour ton aide.

A bientôt
lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014 > guyrobert -
Explique ce qui se passe quand tu lance la macro, ça devrais fonctionner sauf qu'il est possible que l'autofilter n'accepte pas de référence cellules, ce qui serrait façillement contourner au moyen de variables.
A+
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
0
Merci
Addendum à ma réponse précédente..
Attention au format de cellule et au libellé des critères.
Ils doivent êtres de MÊME TYPE.
A+
Bonjour Lermitte222,

J'ai commencé à lire le ficihier PDF du lien que tu as envoyé, très instructif.

Le format des cellules est le suivant :
*JJ/MM/AAAA
J'ai tenté d'autre format mais rien à faire.
Lorsque je lance le code aucun date n'est selectionné, page vide.
Aucun message d'erreur

Je te remercie pour l'aide apporté.

A bientôt
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1014
0
Merci
Pour voir si c'est un problème dans le code ou dans les formats tu devrais faire ton filtre en manuel, directement sur la feuille excel.
A+
Bonjour Lermitte222,

Suite à ton mail de vendredi, j'ai developpé avec des varaibles
J'ai écris le code suivant :
Sub TEST2()
Dim DateE5 As String, DateF5 As String

DateE5 = Sheets("liste").Range("E5")
DateF5 = Sheets("liste").Range("F5")
Selection.AutoFilter Field:=7, Criteria1:=">=" & DateE5, Operator:=xlAnd _
, Criteria2:="<=" & DateF5

End Sub
Toujours une page blanche.
Je suis allé voir dans le filtre. Le compte-tenu était éroné. Le mois et la date était inversé. Donc j'ai inversé dans la cellule E5 et F5 le mois et la date et là impercable.
J'ai repris le code que tu m'avais envoyé :

Sub Test3()

Selection.AutoFilter Field:=7, Criteria1:="=>" & Sheets("Liste").Range("E5"), Operator:=xlAnd _
, Criteria2:="=<" & Sheets("Liste").Range("F5")
End Sub

Et là page blanche ?????
Je me suis dis impossible que cela ne fonctionne pas il y a un truc???
Je suis retourné dans le filtre et là le symbole > avec la date pour le critère 1 et idem pour le critère 2
En fait lorsque tu regarde le code que j'ai developpé et le code transmis les signe >= sont inversés.

En conclusiion :
Il faut inverser dans les cellules la date et le mois et idm pour les symboles >=

Je te remercie vivement pour ta contibution.
Je te remercie pour le lien fourni. J'ai lu le fichier PDF.
J'ai découvert un site que je suis en train de parcourir. Je le conseil pour les débutants.

L'adresse : http://translate.google.de/...

Merci encore pour ton aide

A bientôt