Filtre sur plusieurs critères dont un critère date
Bonjour,
j'ai un petit souci dans le tri du premier champs date (TextBox1) dans la colonne 1.
Le tri fonctionne très bien sauf pour la date (colonne 1), j 'ai l'impression que "sCrit as String" ne reconnait pas les dates.
Si je mets du caractère le tri fonctionne très bien mais si je mets une date cela ne fonctionne pas.
Si vous avez une idée d'ou cela peut venir?
Merci de ton aide
Private Sub CommandButton2_Click()
Dim Ind As Integer, dLig As Long, sCrit As String
Dim TabCol As Variant, NumCol As Long
' Liste des colonnes à prendre en compte
TabCol = Split("A,B,D,G,H,J,K,N,R", ",")
' Avec la feuille active
With ActiveSheet
' Définir la plage à traiter
Set Rng = .Range("A6").CurrentRegion
' Déplacer la plage d'une ligne vers le bas et la redimensionner
Set Rng = Rng.Resize(Rng.Rows.Count - 1, Rng.Columns.Count).Offset(1, 0)
' Suis l'ordre des TextBox
For Ind = 1 To 9
' Préparer le critère de filtre
sCrit = ""
' Si le TextBox contient une valeur
If Me.Controls("Textbox" & Ind) <> "" Then
' Définir le numéro de colonne à traiter
NumCol = Range(TabCol(Ind - 1) & "1").Column
' Critère de filtre
sCrit = Me.Controls("Textbox" & Ind).Value
' Appliquer le filtre à la colonne
Rng.AutoFilter Field:=NumCol, Criteria1:="*" & sCrit & "*"
End If
Next Ind
End With
End Sub
Re,
c'est bon j'ai trouvé la solution.
Par contre si on renseigne une valeur autre qu'une date je rentre dans le débogage.
Pourquoi J'ai cette erreur?
Bonjour Dam777
Sauf erreur de ma part, je ne pense pas que tu es trouvé le code tout seul
sCrit2 = DateSerial(CInt(Mid(Me.Controls("Textbox" & Ind).Value, 7, 4)), CInt(Mid(Me.Controls("Textbox" & Ind).Value, 4, 2)), CInt(Mid(Me.Controls("Textbox" & Ind).Value, 1, 2)))
Mais du coup c'est normal, tu demande à convertir une valeur qui n'est pas une date
Mon premier code fonctionnait de mon côté !
A+
Merci Bruno pour tes réponses.
Oui tu as raison je n'ai pas trouvé tout seul.
Mais j'ai utilisé tes conseils de faire des recherches sur Google.