Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 filtre avancée avec plusieurs critère "avec macro"

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 !

le___destin

XLDnaute Occasionnel
bonsoir,
j'aimerai faire un filtre d'un tableau suivant plusieurs critère
merci de m'aider a réaliser ce travail
 

Pièces jointes

bonsoir
le problème que le filtre entre deux date ne marche plus
Il faut respecter le nom des entêtes c'est pour cela que ça ne fonctionne pas.
Il mettre date pour les 2 cellules (A3 et B3) au lieu de jusqu'à date et à partir date.
Je t'ai envoyé ton fichier en retour, il faut faire un effort de compréhension.
Il faut insérer une ligne en ligne5, ensuite tu fais un clic-droit sur l'onglet "statistique" et colle le code ci-dessous
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5")) Is Nothing Then
        Target.Offset(-1, 0) = ">=" & Target.Value2
    End If
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        Target.Offset(-1, 0) = "<=" & Target.Value2
    End If
End Sub

Les dates doivent être saisies dans les cellules A5 et B5 (en A4 e B4 il y aura une formule)

A+
 
Dernière édition:
Bonjour à tous

j'ai testé ton code il ne renvoie pas le bon résultat
Ma phrase
J'ai ajouté les champs nécessaires sous le bouton (à replacer)
aurait du vous aiguiller : avec cette inversion des colonnes j'ai mal précisé la zone de critères

Il suffit de remplacer A3:E4 par C3:G4
 

Pièces jointes

bonsoir les amis
avant tout, je vous remercie beaucoup pour vos aide
le code marche bien
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A5")) Is Nothing Then
    Sheets("statistique").Unprotect Password:="Destin0931"
        Target.Offset(-1, 0) = ">=" & Target.Value2
    End If
    If Not Intersect(Target, Range("B5")) Is Nothing Then
    Sheets("statistique").Unprotect Password:="Destin0931"
        Target.Offset(-1, 0) = "<=" & Target.Value2
        Sheets("statistique").Protect Password:="Destin0931"
    End If
End Sub
juste une petite chose, je veux que si j'efface les date du cellules A5 et B5 les cellule A4 et B4 sois vide qui ce n'est pas le cas
et merci
 
Bonjour

Ma réponse concernant la formule à modifier correspond à la solution que j'ai donnée au #18 et au fichier que j'y ai joint, pas à un mélange avec celle de cp4.

Elle ne nécessite pas de code au changement du choix des dates car ce sont les formules associées au filtre qui agissent.
 
Réactions: cp4
Bonjour Chris, @le___destin ,

Je suis absolument d'accord avec Chris. D'ailleurs, je pense que tu ne sais pas vraiment ce que tu veux.
Mon dernier code à tester
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A5")) Is Nothing Then
        If Target.Value <> "" Then
            Target.Offset(-1, 0) = ">=" & Target.Value2
        Else
            Target.Offset(-1, 0) = ""
        End If
    End If
    If Not Intersect(Target, Range("B5")) Is Nothing Then
        If Target.Value <> "" Then
            Target.Offset(-1, 0) = "<=" & Target.Value2
        Else
            Target.Offset(-1, 0) = ""
        End If
    End If
End Sub

Bonne journée.
 
- 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

  • Question Question
XL 2016 liste
Réponses
10
Affichages
209
Réponses
18
Affichages
188
Réponses
40
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…