Saisie semi-automatique avec filtrage

C60a

XLDnaute Junior
Bonjour à tous,

J'aimerais dans la ligne A2:G2 saisir des mots qui déclenchent successivement un filtrage automatique sur chaque colonne en cours,

Si je saisie en A2, un filtre automatique est appliqué en colonne A selon les lettres saisie en A2.

Si je saisie en B2, un filtre est appliqué sur la colonne B, sur le résultat du premier filtre, selon la valeur saisie en B2.

En C3, un filtre est appliqué sur la colonne C, sur le résultat du deuxième filtre, selon la valeur saisie en C3.

Et ainsi de suite.

A la fin, si tous les valeurs saisies ont 0 enregistrements trouvés (filtrés), alors cette ligne A2:G2 est ajoutée au tableau de données A4:G6.

Merci d’avance,
 

Pièces jointes

  • SaisieFiltrageAuto_v001.xlsm
    27.9 KB · Affichages: 56

youky(BJ)

XLDnaute Barbatruc
Vérifie que l date est bien en format date dans les données
Lorsque l'on prend la date d'un textbox il faut faire Cdate(textbox1) pour convertir en date
Chose qui n'était pas fait avant.
Les chiffres doivent être en format Standard et les dates en format date
Bruno
 

C60a

XLDnaute Junior
Les données en colonne E sont bien en format date.

j'ai essayé ce test pour obtenir un résultat, mais ça n'a pas encore fonctionner :

VB:
Private Sub TextBox5_Change()
    If TextBox5 = "" Then ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=5: Exit Sub
    On Error Resume Next
    If TextBox5.TextLength = 10 Then
        ActiveSheet.Range("$A$4:$G$4").AutoFilter Field:=5, Criteria1:="=" & CDate(TextBox5.Value)
        If Err = 0 Then verif_copy
    End If
End Sub

Mais lorsque j'applique un filtre manuel et choisir la date depuis le calendrier proposé dans "égal à", la ligne contenant cette date "27/11/2016" est bien visible :

VB:
Sub Macro1()
'
' Macro1 Macro
'

'
    ActiveSheet.Range("$A$4:$G$7").AutoFilter Field:=5, Criteria1:= _
                                              "=27/11/2016", Operator:=xlAnd
End Sub
 
Dernière édition:

3xceln4ute

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai vu le document de la saisie semi-auto et il s’avérerait qu'il répondrait parfaitement à mon besoin.

Le but est d'avoir une recherche pour toutes les colonnes. Ci-joint le fichier.

Merci d'avance.
 

Pièces jointes

  • Projet recherche Classeur.xlsm
    236.7 KB · Affichages: 48

C60a

XLDnaute Junior
Bonjour youki,

Pour le moment, juste un truc que je ne peux l'expliqué :

Quand je tape une date directement dans le TextBox5 (Colonne E) sans passer par les autres TextBox, le filtre appliqué ne retourne rien, pourtant la date saisie s'y trouve bien dans le tableau des données !?

Je continu les tests !

EDIT :
Le filtre sur date ne fonctionne pas à tout les coups.

Je teste maintenant sur une autre machine, et la saisie n'est pas reconnu comme date dans la colonne E (TextBox5)... Bizzare !

Apres execution du code de la macro en haut :

VB:
Sub mydate()
Columns("E:E").NumberFormat = "dd/mm/yyyy"
For lig = 5 To [E65000].End(3).Row
Cells(lig, 5) = CDate(Cells(lig, 5))
Next
End Sub

La saisie est reconnu comme date ?!
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 928
Messages
2 093 698
Membres
105 787
dernier inscrit
BABOU79