Macro à partir du critère d'un filtre atomatique

  • Initiateur de la discussion Initiateur de la discussion lolorh
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lolorh

XLDnaute Nouveau
Bonjour,

Je vous expose mon souci, sur une feuille de mon classeur Excel, j'ai mis en place un filtre automatique sur la ligne 5 (colonne A à E).
Je souhaite changer l'affichage de mon classeur suivant le choix effectuer sur le filtre de la colonne C.

Exemple: si mon critère = cas1 = un affichage
si mon critère = cas2 = un autre affichage

Si je n'ai pas de problème pour effectuer ma modification d'affichage, je n'arrive pas à trouver la procédure à écrire pour déclencher la macro à partir du filtre automatique suivant le critère.

Merci d'avance.
Cordialement.
 
Re : Macro à partir du critère d'un filtre atomatique

Bonjour,

Comme l' y incite la charte du forum, un classeur exemple et des explications détaillées aurait permis de valider concrètement les propositions.

Les actions sur les filtres ne déclenchent aucun évènement. Une solution consiste à mettre dans une cellule inutilisée une formule du style: = A6 (A6 étant une cellule du tableau filtré) qui, lors du filtrage déclenchera l'évènement Private Sub Worksheet_Calculate().

Code de cette Sub:

Code:
Private Sub Worksheet_Calculate()
 Dim MaVal As String
 With ActiveSheet
    If .AutoFilterMode Then
        With .AutoFilter.Filters(3) 'pour la colonne 3 du tableau filtré
            If .On Then ' si filtre appliqué
                MaVal = Right(.Criteria1, Len(.Criteria1) - 1) ' pour supprimer le signe = contenu criteria1
                If MaVal = cas1 Then 'un affichage
                If MaVal = cas2 Then un autre affichage
            Else ' éventuellement
                'peut être encore un autre
            End If
        End With
    End If
 End With
End Sub

à adapter

A+
 
Re : Macro à partir du critère d'un filtre atomatique

Merci Paf,

C'est exactement ce qu'il me fallait, j'ai adapté le code au nombre de critères que j'avais (4), j'ai juste rencontré un petit problème lorsque je sélectionnais "tous", j'obtenais l'intégralité des lignes, mais mon affichage restait sur le dernier critère retenu. j'ai donc intégré les codes d'affichage nécessaires entre
With .AutoFilter.Filters(3) et If .On Then , pour revenir à l'affichage original.

Merci encore.
 
Re : Macro à partir du critère d'un filtre atomatique

Merci Paf,

C'est exactement ce qu'il me fallait, j'ai adapté le code au nombre de critères que j'avais (4), j'ai juste rencontré un petit problème lorsque je sélectionnais "tous", j'obtenais l'intégralité des lignes, mais mon affichage restait sur le dernier critère retenu. j'ai donc intégré les codes d'affichage nécessaires entre
With .AutoFilter.Filters(3) et If .On Then , pour revenir à l'affichage original.

Merci encore. a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour