EXCEL Macro autoclose annulation filtres automatiques

Résolu/Fermé
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 - 28 juin 2023 à 16:08
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 - 4 juil. 2023 à 14:37

Bonjour,

J'ai un tableau de données EXCEL et chaque colonne peut être triée à l'aide de filtres automatiques.

Je souhaiterai qu'à l'aide d'une macro AUTO CLOSE, les critères de tous les filtres automatiques s'annulent et que toutes mes données s'affichent à la prochaine ouverture de mon fichier tout en gardant la possibilité d'utiliser les filtres.

J'espère avoir été claire ;)

J'attends vos retours ! Merci d'avance !

A voir également:

13 réponses

cousinhub29 Messages postés 961 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 novembre 2024 345
28 juin 2023 à 16:24

Bonjour,

Perso, plutôt que de jouer avec l'évènement "Before_Close", j'utiliserais l'évènement "Open"...

Ainsi, à l'ouverture, tous les filtres sont désactivés.

Dans l'évènement "This_Worbook", mettre ce code (je suppose qu'il n'y a qu'un onglet)

Private Sub Workbook_Open()
With Sheets(1)
    If .FilterMode Then .ShowAllData
End With
End Sub

Ce code vérifie si au moins un filtre est actif, auquel cas il désactive tous les filtres...

Et tu as toutes tes données à l'ouverture (sous condition expresse d'autoriser les macros, mais cette obligation vaudrait également pour un code "Before_Close")

Bonne apm


0
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
28 juin 2023 à 16:33

J'ai déjà une macro auto open qui se présente ainsi :

Sub Auto_Open()

    Sheets("Liste clés").Select
    Range("A1").Select
End Sub

Comment puis-je intégrer ta formule pour que les filtres de cette feuille soient désactivés ?

0
cousinhub29 Messages postés 961 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 novembre 2024 345
28 juin 2023 à 16:40

Re-,

Ouh là, on n'utilise plus ce type de code (auto_open) depuis.....(longtemps....)

Tu peux effacer ce code, puis, lorsque tu es dans l'éditeur VBA, tu cliques sur l'icône "ThisWorkbook" (en haut à gauche, sous les noms des Feuil)

Dans la fenêtre de droite, tu cliques sur le 1er bandeau déroulant, et tu sélectionnes "Worbook", et dans le 2ème (plus à droite), "Open".

Puis tu mets ce code :

Private Sub Workbook_Open()
With Sheets("Liste clés")
    .Select
    If .FilterMode Then .ShowAllData
End With
End Sub

Bon courage


0
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
28 juin 2023 à 16:48

Super ! Ca fonctionne ;)

Merci beaucoup et bonne fin de journée !

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
3 juil. 2023 à 11:10

Rebonjour ;)

Pouvez-vous m'indiquer maintenant comment supprimer les critères de filtre automatique pour toutes les feuilles ou alors pour la première feuille (car le nom de la feuille va changer régulièrement) ?

Merci

0
cousinhub29 Messages postés 961 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 novembre 2024 345
3 juil. 2023 à 11:37

Bonjour,

En modifiant ainsi, toujours dans l'évènement du ThisWorkbook :

Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In Sheets
    With Sh
        If .FilterMode Then .ShowAllData
    End With
Next Sh
End Sub

Bonne journée


0
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
3 juil. 2023 à 11:57

Merci et la formule pour la première feuille seulement ?

0
cousinhub29 Messages postés 961 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 novembre 2024 345
3 juil. 2023 à 12:08

Re-,

Pour la première,

Private Sub Workbook_Open()
With Sheets(1)
    .Select 'si tu veux activer cet onglet
    If .FilterMode Then .ShowAllData
End With
End Sub

0
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
3 juil. 2023 à 14:42

J'ai essayé les deux formules aucune ne fonctionne : mon filtre reste activé ! 

0
cousinhub29 Messages postés 961 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 novembre 2024 345
3 juil. 2023 à 15:25

Re-,

Si ça fonctionnait avec le premier code fourni, je ne vois pas pourquoi ça ne fonctionnerait pas avec les autres...

Est-ce que tu utilises plusieurs tableaux dans ton onglet?


0
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
4 juil. 2023 à 11:38

Bonjour,

J'ai réussi ! En fait j'avais ajouté une protection sur la feuille qui empêchait l'accès aux filtres. 

Autre petite demande : avez-vous une macro pour se déplacer automatiquement en colonne B sur la première ligne vierge de mon tableau ?

0
cousinhub29 Messages postés 961 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 21 novembre 2024 345
4 juil. 2023 à 13:15

Bonjour,

Logiquement, 1 fil = 1 question...

Dans ta future question, précise si ce sont des Tableaux Structurés ou non, et sur quel onglet se positionner...

Bonne apm


0
mounapo Messages postés 65 Date d'inscription lundi 18 juin 2012 Statut Membre Dernière intervention 15 novembre 2023 1
4 juil. 2023 à 14:37

Très bien, en tout cas merci beaucoup pour votre aide et belle fin de journée !

0