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

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

  • benamor.xlsm
    70.9 KB · Affichages: 20

cp4

XLDnaute Barbatruc
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:

chris

XLDnaute Barbatruc
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

  • benamor3.xlsm
    78.8 KB · Affichages: 10

le___destin

XLDnaute Occasionnel
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
Sans titre.jpg
 

chris

XLDnaute Barbatruc
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.
 

cp4

XLDnaute Barbatruc
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.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87