Macro Autofilter VBA... petites erreurs de syntaxe

sharkantipav

XLDnaute Occasionnel
Bonjour tlm,

J'ai ecris une macro que j'utilise pour filtrer une Table utilisant des criteres places en cellulles U10:U15 ainsi que dans 2 Datepickers nommes DateFrom et DateTo. Voici mon code

Code:
Private Sub LookTra_Click()
 Application.ScreenUpdating = False

 If Range("U5") = "OPT" Then
    ListObjects("OPT").Range.AutoFilter Field:=17, Criteria1 _
        :="=" & Range("U11"), Operator:=xlAnd
    ListObjects("OPT").Range.AutoFilter Field:=10, Criteria1 _
        :="=" & Range("U12"), Operator:=xlAnd
    ListObjects("OPT").Range.AutoFilter Field:=13, Criteria1 _
        :="=" & Range("U13"), Operator:=xlAnd
    ListObjects("OPT").Range.AutoFilter Field:=5, Criteria1 _
         :="=" & Range("U14"), Operator:=xlAnd
    ListObjects("OPT").Range.AutoFilter Field:=6, Criteria1:= _
        ">=" & DateFrom.Value, Operator:=xlAnd, Criteria2:="<=" & DateTo.Value
    Sheets("OPT").Visible = True
    Sheets("OPT").Select
 End If

End Sub

Jai 2 erreurs de syntaxe

1/ j'ai une Error: Subscript out of range -- si un des criteres en cellules U10:U15.
2/ je n'arrive pas a utiliser les valeurs dans les DatePickers, j'ai Error 424: Object Required

Merci de votre aide
 

Staple1600

XLDnaute Barbatruc
Re : Macro Autofilter VBA... petites erreurs de syntaxe

Bonsoir à tous

sharkantipav
Je n'arrive pas à ouvrir ton fichier exemple que tu as joint dans ton premier message ?
Or cela permettrai de voir si l'erreur se produit aussi sur nos PC, à nous autres petit gars du forum, qui essaient de t'aider...
 

Staple1600

XLDnaute Barbatruc
Re : Macro Autofilter VBA... petites erreurs de syntaxe

Re

sharkantipav
C'est pourtant simple à alléger un fichier ...;)
Mais plus simple encore est ceci: créer vite fait un petit fichier exemple comme ci-dessous:
• un classeur avec une feuille contenant un Tableau OPT avec seulement 10/20 lignes
• + le code VBA + Userform (si présents)
NB: Les données dans OPT seront "bidons"

Cela prends moins de 10 minutes à faire. ;)
 

Staple1600

XLDnaute Barbatruc
Re : Macro Autofilter VBA... petites erreurs de syntaxe

Re

sharkantipav
Bon toujours pas de fichier exemple pour tester...
Alors je poste ceci qui fonctionne sur mon fichier exemple que j'ai créé sans savoir s'il ressemble à ton fichier... :rolleyes:
Code:
Private Sub CommandButton1_Click()
Dim flds, i%
flds = Array([{17,11}], [{10,12}], [{13,13}], [{5,14}]) '
Application.ScreenUpdating = False
X = DateValue(DateFrom): Y = DateValue((DateTo))
With Sheets("OPT")
    If .Range("U5") = "OPT" Then
        For i = 0 To UBound(flds, 1)
        .ListObjects("OPT").Range.AutoFilter CLng(flds(i)(1)), "=" & .Cells(CLng(flds(i)(2)), "U")
        Next i
        .ListObjects("OPT").Range.AutoFilter 6, ">=" & CLng(X), xlAnd, "<=" & CLng(Y)
    End If
End With
Me.Hide
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 965
Membres
103 069
dernier inscrit
jujulop