Excel - Filtre automatique sur deux onglets
Fermé
Blueflower
-
20 févr. 2012 à 07:41
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 20 févr. 2012 à 16:43
pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 - 20 févr. 2012 à 16:43
A voir également:
- Excel - Filtre automatique sur deux onglets
- Liste déroulante excel - Guide
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Comment calculer la moyenne sur excel - Guide
- Si et excel - Guide
- Message automatique thunderbird - Guide
1 réponse
pilas31
Messages postés
1825
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
644
Modifié par pilas31 le 20/02/2012 à 16:45
Modifié par pilas31 le 20/02/2012 à 16:45
Bonjour,
Voici une solution en VBA:
Dans le deuxième onglet associer le code suivant (clic bouton droit sur le nom de l'onglet puis "visualiser le code" et coller le code de la macro ci dessous)
en préallable il faut positionner un filtre automatique sur les deux colonnes Nom, Prénom de la deuxième feuille (menu Données>Filtrer>Filtre automatique).
Ensuite il faut modifier le code de la macro en considérant que dans mon exemple le prénom se trouve dans le champ A2 de l'onglet "Feuil1" et le nom en "B2". Il faut donc adapter le nom de la feuille et l'emplacement des champs.
Enfin il faut bien vérifier que les champs de tri de la 2° feuille sont bien respectivement le 1 pour le prénom et le 2 pour le nom. Sinon il faut adapter le rang de tri.
Voila.
Ne pas hésiter à revenir si ce n'est pas assez clair.
Une dernière remarque : si les champs sont vides toute la liste s'affiche dans la deuxième feuille ce qui me parait pratique. Bien sur il faut permettre de saisir une valeur vide dans les champs de la première feuille.
Cordialement,
Voici une solution en VBA:
Dans le deuxième onglet associer le code suivant (clic bouton droit sur le nom de l'onglet puis "visualiser le code" et coller le code de la macro ci dessous)
Private Sub Worksheet_Activate() If Worksheets("Feuil1").Range("A2") <> "" Then Selection.AutoFilter Field:=1, Criteria1:=Worksheets("Feuil1").Range("A2") Else Selection.AutoFilter Field:=1 End If If Worksheets("Feuil1").Range("B2") <> "" Then Selection.AutoFilter Field:=2, Criteria1:=Worksheets("Feuil1").Range("B2") Else Selection.AutoFilter Field:=2 End If End Sub
en préallable il faut positionner un filtre automatique sur les deux colonnes Nom, Prénom de la deuxième feuille (menu Données>Filtrer>Filtre automatique).
Ensuite il faut modifier le code de la macro en considérant que dans mon exemple le prénom se trouve dans le champ A2 de l'onglet "Feuil1" et le nom en "B2". Il faut donc adapter le nom de la feuille et l'emplacement des champs.
Enfin il faut bien vérifier que les champs de tri de la 2° feuille sont bien respectivement le 1 pour le prénom et le 2 pour le nom. Sinon il faut adapter le rang de tri.
Voila.
Ne pas hésiter à revenir si ce n'est pas assez clair.
Une dernière remarque : si les champs sont vides toute la liste s'affiche dans la deuxième feuille ce qui me parait pratique. Bien sur il faut permettre de saisir une valeur vide dans les champs de la première feuille.
Cordialement,