Ma macro filtre sur une valeur "texte" ne fonctionne pas avec une valeur "date"

  • Initiateur de la discussion Initiateur de la discussion chris6999
  • 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 !

chris6999

XLDnaute Impliqué
Bonjour

J'essaye vainement de comprendre pourquoi la macro ci-après ne fonctionne pas avec une valeur de recherche de type date alors que cela fonctionne très bien avec les valeurs textes.
Le prinicpe est le suivant :
Lorsque je tape une valeur texte dans la cellule B4 le filtre s'active et sélectionne les lignes lorsque la valeur ou une partie de cette valeur est présente dans la colonne 1 (NOM).

Je souhaitais ajouter un autre filtre sur la valeur date de naissance à partir de la cellule E4 sachant que les dates de naissance sont saisies dans la colonne 2 (C)

J'ai vainement essayé d'utiliser la macro ci après pour le filtre date mais cela ne fonctionne pas...


Private Sub Worksheet_Change(ByVal Target As Range)
' Si modification de la cellule b4
If Target.Address(0, 0) = "B4" Then
' Si la cellule contient une valeur
If Target.Value <> "" Then
' Filter sur cette valeur
Range("A6:F6").AutoFilter Field:=1, Criteria1:="=*" & Target.Value & "*"

Else
' Supprimer le filtre
Range("A6:F6").AutoFilter Field:=1
End If
End If
End Sub


Le top serait de pouvoir mettre à la suite ces deux macros pour que l'on puisse faire une sélection à partir du nom ou de la date de naissance (ou les deux en même temps?...)

Mon problème c'est de retirer la sélection uniquement lorsque B4 et E4 sont vides.

Quel casse tête!

Je vous mets un fichier test pour que vous compreniez mieux mon problème.

Merci d'avance pour votre aide
Cordialement
 

Pièces jointes

Re : Ma macro filtre sur une valeur "texte" ne fonctionne pas avec une valeur "date"

Merci Pierrejean

J'ai essayé de tester ta proposition mais la sélection sur date de naissance ne fonctionne pas.
Est_ce normal?

Dis moi si tu comprends pourquoi

Bonne soirée
 
Re : Ma macro filtre sur une valeur "texte" ne fonctionne pas avec une valeur "date"

Merci pierrejean

Effectivement cela fonctionne bien pour les dates. Par contre, au niveau de la recherche par nom la macro ne parvenait plus à filtrer lorsque je cherche par partie de texte.
Par exemple pour afficher toutes les lignes qui contenaient DU sans être obligé de saisir le nom complet.
J'ai donc combiné les deux codes et cela semble fonctionner.
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B4") = "" And Range("E4") = "" Then
Range("A6:F6").AutoFilter Field:=3
Range("A6:F6").AutoFilter Field:=1
Exit Sub
End If
If Target.Address(0, 0) = "B4" Then
' Si la cellule contient une valeur
If Target.Value <> "" Then
' Filter sur cette valeur
Range("A6:F6").AutoFilter Field:=1, Criteria1:="=*" & Target.Value & "*"

Else
' Supprimer le filtre
Range("A6:F6").AutoFilter Field:=1
End If


End If
If Target.Address = "$E$4" Then
ActiveSheet.Range("$A$6:$F$13").AutoFilter Field:=1
'crit = Format(Target.Value, "dd/mm/yyyy")
crit = Target.Value
fi = 3
Range("A6:F6").AutoFilter Field:=fi, Criteria1:=crit
Application.EnableEvents = False
Range("B4") = ""
Application.EnableEvents = True
End If
End Sub

Je te remercie pour ton aide
Bon dimanche
 
- 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

Réponses
3
Affichages
151
Réponses
18
Affichages
803
Réponses
2
Affichages
153
Réponses
4
Affichages
243
Réponses
7
Affichages
211
Retour