Filtre
Résolu/Fermé
Jennib370
Messages postés
51
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
31 mars 2022
-
19 mars 2021 à 18:59
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 - 19 mars 2021 à 21:58
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 - 19 mars 2021 à 21:58
A voir également:
- Filtre
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Filtre teams - Accueil - Visio
- Filtre google sheet ne fonctionne pas ✓ - Forum Excel
- Télécharger filtre lumière bleue pc gratuit - Télécharger - Divers Utilitaires
- Excel filtre date ne fonctionne pas ✓ - Forum Excel
4 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
19 mars 2021 à 19:14
19 mars 2021 à 19:14
Bonsoir
Compréhensible non !
Une macro sans VBA ça n'existe pas
Soit tu as un tableau avec les noms dans une colonne et tu peux utiliser le filtre sur cette colonne et donc filtrer les données sur place pas besoin d'autre manip
soit tu veux choisir un établissement (dans une liste déroulante) et faire afficher les infos correspondantes (et là tu le fais avec des RECHERCHEV ou des INDEX EQUIV)
Il faut nous fournir un exemple de ton fichier (anonymisé avant si nécessaire) en le postant sur mon-partage.fr ou cjoint.com, en copiant le lien créé et en revenant le coller ici en expliquant dans le fichier avec un exemple précis ce que tu cherches à obtenir
et là on pourra sans doute t'aider
Cdlmnt
Via
Compréhensible non !
Une macro sans VBA ça n'existe pas
Soit tu as un tableau avec les noms dans une colonne et tu peux utiliser le filtre sur cette colonne et donc filtrer les données sur place pas besoin d'autre manip
soit tu veux choisir un établissement (dans une liste déroulante) et faire afficher les infos correspondantes (et là tu le fais avec des RECHERCHEV ou des INDEX EQUIV)
Il faut nous fournir un exemple de ton fichier (anonymisé avant si nécessaire) en le postant sur mon-partage.fr ou cjoint.com, en copiant le lien créé et en revenant le coller ici en expliquant dans le fichier avec un exemple précis ce que tu cherches à obtenir
et là on pourra sans doute t'aider
Cdlmnt
Via
Jennib370
Messages postés
51
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
31 mars 2022
1
19 mars 2021 à 19:34
19 mars 2021 à 19:34
Bonjour,
Je me suis mal exprimer... je voulais dire que j'ai créé une macro avec le bouton "enregistrer une macro" mais je n'ai pas saisi les codes VBA manuellement.
Et je comprends aussi que j'aurais dû vous mentionner que ce tableau qui se nomme par le nom de l'établissement, est lié à partir d'un autre tableau, qui se nomme Base de donnée des établissements où toutes l'informations de tous les établissements se trouvent.
Donc en exécutant cette macro, elle "refiltre" la tableau, donc se met à jour.
Merci pour votre réponse.
Je me suis mal exprimer... je voulais dire que j'ai créé une macro avec le bouton "enregistrer une macro" mais je n'ai pas saisi les codes VBA manuellement.
Et je comprends aussi que j'aurais dû vous mentionner que ce tableau qui se nomme par le nom de l'établissement, est lié à partir d'un autre tableau, qui se nomme Base de donnée des établissements où toutes l'informations de tous les établissements se trouvent.
Donc en exécutant cette macro, elle "refiltre" la tableau, donc se met à jour.
Merci pour votre réponse.
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
19 mars 2021 à 20:26
19 mars 2021 à 20:26
Re,
Et moi j'ai mal interprété et pas compris que tu avais enregistré une macro
Dans ce cas dans cet enregistrement (Alt+fF1 pour ouvrir l'éditeur VBA puis aller dans Module 1 en principe) tu dois avoir une ligne de ce style :
ActiveSheet.Range("$A$1:$K$121").AutoFilter Field:=3, Criteria1:="Etablissement AAA"
dans laquelle le critère de filtre est indiqué "en dur"
tu peux très bien le remplacer par une référence à la cellule A2 de ta feuille comme tu as bien pensé, il faut remplacer simplement le "Etablissement AAA" par Range("A2"), la ligne devenant ainsi (chez moi) :
ActiveSheet.Range("$A$1:$K$121").AutoFilter Field:=3, Criteria1:=Range("A2")
Ainsi tu pourras comme tu voulais, faire une MAJ après chaque changement en A2 e lançant la macro
On pourrait même prévoir de lancer la macro automatiquement à chaque changement en A2
Pour cela dans l’arborescence à gauche de l'éditeur VBA il faut double cliquer sur le nom de la feuille depuis laquelle cela doit s'apliquer puis dans la page blanche coller la macro suivante
(en adaptant la plage de ton tableau chez moi A1:K121, et la colonne du filtre la 3 chez moi)
Et moi j'ai mal interprété et pas compris que tu avais enregistré une macro
Dans ce cas dans cet enregistrement (Alt+fF1 pour ouvrir l'éditeur VBA puis aller dans Module 1 en principe) tu dois avoir une ligne de ce style :
ActiveSheet.Range("$A$1:$K$121").AutoFilter Field:=3, Criteria1:="Etablissement AAA"
dans laquelle le critère de filtre est indiqué "en dur"
tu peux très bien le remplacer par une référence à la cellule A2 de ta feuille comme tu as bien pensé, il faut remplacer simplement le "Etablissement AAA" par Range("A2"), la ligne devenant ainsi (chez moi) :
ActiveSheet.Range("$A$1:$K$121").AutoFilter Field:=3, Criteria1:=Range("A2")
Ainsi tu pourras comme tu voulais, faire une MAJ après chaque changement en A2 e lançant la macro
On pourrait même prévoir de lancer la macro automatiquement à chaque changement en A2
Pour cela dans l’arborescence à gauche de l'éditeur VBA il faut double cliquer sur le nom de la feuille depuis laquelle cela doit s'apliquer puis dans la page blanche coller la macro suivante
(en adaptant la plage de ton tableau chez moi A1:K121, et la colonne du filtre la 3 chez moi)
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A2")) Is Nothing Then '1er Range est la plage du tableau - Field est la colonne du filtre - Le 2nd range est la cellule où se trouve le critère du filtre ActiveSheet.Range("$A$1:$K$121").AutoFilter Field:=3, Criteria1:=Range("A2") End If End Sub
Jennib370
Messages postés
51
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
31 mars 2022
1
19 mars 2021 à 21:33
19 mars 2021 à 21:33
Donc ça :
devient ça :
Aucun messahe d'erreur, mais rien ne s'affiche, zéro résultat et je devrais en avoir un.
ActiveSheet.ListObjects("Tableau6").Range.AutoFilter Field:=3, Criteria1:= _ "004 - École"
devient ça :
ActiveSheet.ListObjects("Tableau6").Range.AutoFilter Field:=3, Criteria1:= _ "A2"
Aucun messahe d'erreur, mais rien ne s'affiche, zéro résultat et je devrais en avoir un.
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
>
Jennib370
Messages postés
51
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
31 mars 2022
19 mars 2021 à 21:58
19 mars 2021 à 21:58
Tu as mis Criteria1:= "A2" donc Excel recherche une valeur A2 qu'il ne trouve pas bien sûr
alors que j'avais indiqué Criteria1:=Range("A2") pour qu'il cherche la valeur DANS la cellule (Range) A
alors que j'avais indiqué Criteria1:=Range("A2") pour qu'il cherche la valeur DANS la cellule (Range) A
Jennib370
Messages postés
51
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
31 mars 2022
1
19 mars 2021 à 20:28
19 mars 2021 à 20:28
J'ai trouvé! J'enregistre ma macro en appuyant sur Ctrl C pour copier ma cellule A1, je clique sur mon bouton filtrer de ma colonne et dans la section Recherche je colle ce que je viens de copier, simplement! J'allais chercher trop loin.
Il a surement mieux que cette façon, mais pour mes besoins c'est parfait pour l'instant! :)
Il a surement mieux que cette façon, mais pour mes besoins c'est parfait pour l'instant! :)
Jennib370
Messages postés
51
Date d'inscription
mardi 27 décembre 2011
Statut
Membre
Dernière intervention
31 mars 2022
1
19 mars 2021 à 21:45
19 mars 2021 à 21:45
Mon idée n'était pas bonne finalement.