Problème affichage après filtre automatique via inputbox

Bonsoir le forum.

Je reviens vers vous car j'ai un petit problème auquel je ne trouve pas de solution...

J'utilise le code suivant:

datedetravail = InputBox("DATE DE TRAVAIL", "Saisissez la date au format jj/mm/aaaa")

Selection.AutoFilter Field:=1, Criteria1:=datedetravail

ce qui me permet d'entrer une date pour filtrer automatiquement via cet inputbox.

Une fois lancée, un affichage blanc apparait, aucun résultat.

Cependant, si je clique sur le filtre puis filtre automatique puis est égal à, il me rentre bien la date de travail.

Si je clique sur ok, là l'affichage apparait...

J'ai besoin de votre pour que le résultat du filtrage via mon inputbox apparaisse...

Je vous remercie et vous souhaite de bonnes fêtes de fin d'année!

Cordialement,

Innuendo67.

Bonjour

Le fichier en cause serait souhaitable

Bonjour et bonne année,

Tu trouveras ci-joint 2 exemples pour tenter de répondre à ta demande.

1 - avec l'utilisation d'un tableau (Excel 2007+)

2 - avec une plage de cellules (type Excel 2003)

L'envoi d'un fichier, comme demandé par Banzai64 (que je salue et à qui je présente mes meilleurs vœux) est vivement souhaité.

Cdlt.

13xlp-autofilter.xlsm (34.74 Ko)
Option Explicit
' Cas 1 - Tableau (ListObject)
' Cas 2 - Plage de cellules (Range)

Private Sub cmdFiltrer_Click()
Dim Response As String
Dim FieldNum As Long
Dim Counter As Double
Dim rngData As Range

    Response = InputBox("Saisissez la date au format jj/mm/aaaa", _
                        "DATE DE TRAVAIL")

    If Response = vbNullString Then Exit Sub
    If Not IsDate(Response) Or Len(Response) <> 10 Then
        MsgBox "La date n'est pas valide", vbOKOnly + vbCritical
        Exit Sub
    End If

    ' Numero colonne à filtrer
    FieldNum = 1

    ' Cas 1 - Tableau (Listobject)
    Set rngData = Me.ListObjects(1).ListColumns(FieldNum).DataBodyRange
    ' Cas 2 - Plage de cellules (Range)
    Set rngData = Me.Cells(1).CurrentRegion

    Counter = Application.WorksheetFunction.CountIf(rngData, CDate(Response))

    If Counter = 0 Then
        MsgBox "La date recherchée est inconnue.", vbOKOnly + vbInformation
        Exit Sub
    End If

    Application.ScreenUpdating = False
    ' Cas 1 - Tableau (ListObject)
    Me.ListObjects(1).Range.AutoFilter field:=FieldNum, Criteria1:=Response
    ' Cas 2 - Plage de cellules (Range)
    rngData.AutoFilter field:=FieldNum, Criteria1:=Response

    Set rngData = Nothing

End Sub

' Cas 1 - Tableau (ListObject)
Private Sub cmdRAZ_Click()

    If Me.ListObjects(1).ShowAutoFilter Then
        Application.ScreenUpdating = False
        Me.ListObjects(1).AutoFilter.ShowAllData
    End If

End Sub

' Cas 2 - Plage de cellules (Range)
Private Sub cmdRAZ_Click()

    If Me.FilterMode Then
        Application.ScreenUpdating = False
        Me.ShowAllData
    End If

End Sub

Bonjour Banzaï et Jean-éric.

Tout d'abord meilleurs vœux pour cette année 2016. Je vous remercie de prendre un peu de votre temps pour mon souci.

Jean-éric, la solution que tu me proposes via ton fichier est exactement ce que je recherche (onglet plage de données) mais dès que je filtre via ton bouton "filtrer", c'est exactement le problème qui se passe avec mon code. Il filtre mais n'affiche rien...

Merci à tous les deux.

Cordialement,

Innuendo67.

Bonjour,

D'où la nécessité de joindre un fichier.

Et puis vérifie que tu travailles bien avec des dates valides (pas des dates texte).

Cdlt.

Bonsoir,

merci de vos réponses. Je vous joins le fichier. Le bouton 1 contient mon code.

Cordialement,

Innuendo67.

23test.xlsm (89.57 Ko)

Bonsoir,

je me suis débrouillé, je réappliques le filtre et tous les résultats s'affichent.

Cordialement,

Innuendo67.

Bonjour,

A toute fin utile, je renvoie ton fichier précédent avec ma procédure.

Ou est le souci que tu évoquais?

Cdlt.

20test.xlsm (104.04 Ko)
Rechercher des sujets similaires à "probleme affichage filtre automatique via inputbox"