je sèche sur un code me permettant de retrouver une date pour mon filtrage.
Dans le fichier ci-joint, on peut appeler un USF( FILTRAGE) pour faire ce filtrage sur une période choisie, via les textbox 10 et 20, cela a l’air de bien fonctionner. Le résultat est transféré vers l’onglet « RESULTATS A ».
Par contre, si je saisie une date dans le textbox1 via le calendrier et que je procède au lancement du code pour ce filtrage avec le commandbutton8, rien se passe ! Aucun transfert vers l’onglet « RESULTATS A ».
Pourriez vous s’il vous plaît m’aider sur ce problème.
Bonjour Rubis57
Heureux de te retrouver
J’ai remplacé ton traitement qui à mon sens peut difficilement fonctionner dans son approche car utilisant une donnée texte(celle du Texbox1) pour réaliser un filtre sur une colonne de date (colonne « E » onglet « CHIFFRES A »)
Date et donnée texte ne font pas bon ménage ensemble même en essayant par l’instruction « Cdate » de corriger le format de celle du Textbox1
Donc j’ai utilisé une boucle et non un filtre pour obtenir le résultat attendu
Cela semble fonctionner
A toi de me dire
Merci pour ton travail. Or, je viens d’essayer et j’ai remarqué qu’il me place les données hors du tableau sur l’onglet RESULTATS A.
Tu voudrai bien revoir cela s’il te plaît.
j’ai essayé en enlevant le +1 a la fin de cette ligne du code
lignerecopie = Sheets("RESULTATS A").Range("E" & Rows.Count).End(xlUp).Row
et il me place bien dans le tableau. Par contre il me copie également la mise en forme des couleurs ! Je me rappelle plus comment gérer cela, donc si tu veux bien. Merci
Private Sub CommandButton8_Click()
Dim Lo As ListObject
Set Lo = Sheets("RESULTATS A").ListObjects(1)
If Not Lo.DataBodyRange Is Nothing Then Lo.DataBodyRange.Delete xlUp 'RAZ
If Not IsDate(TextBox1) Then Exit Sub
sp = Split(TextBox1, "-")
If UBound(sp) <> 2 Then Exit Sub
With [Tableau1].ListObject.Range
.AutoFilter
.AutoFilter 1, ">=" & sp(1) & "/" & sp(0) & "/" & sp(2)
.SpecialCells(xlCellTypeVisible).Copy Lo.Range(1)
.AutoFilter 1 'ôte le filtre
End With
Application.GoTo Lo.Range(1) 'facultatif
Unload Me
Application.Visible = True
Sheets("RESULTATS A").Activate
End Sub