Erreur 1004

Bonsoir à tous du forum,

J'ai un classeur qui me sert à entrer des commandes. J'ai une base de clients, de commandes et autres. J'ai une feuille qui me permet de trier mes commandes par dates et qui m'affichent certains renseignements pré-établis. J'ai fait beaucoup d'améliorations à mon classeur et j'ai oublié de faire les changements à cette feuille. Maintenant, j'obtiens une erreur 1004 si j'essaie de m'en servir. J'ai cherché d'où peut venir l'erreur, mais je n'y suis pas parvenu. J'apprécierais si quelqu'un pourrait me donner un coup de main et des explications afin que je puisse comprendre mon erreur et la corriger dans le futur si besoin est. Je place le code fautif ci-dessous.

Sub ExtraitDate()
Dim Lg%, Crit As Range
''Macros par Claude Dubois pour "klode" Excel-Pratique le 22/07/10
   With Sheets("Liste")
        Lg = .Range("A65536").End(xlUp).Row
        If Range("o2") <> "" Then
            Range("s2") = "=Liste!e2>=$m$2"
            Set Crit = Range("s1:t2")
        Else
            Range("s2") = "=Liste!e2>=$m$2"
            Set Crit = Range("s1:s2")
        End If
            .Range("a1:t" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            Crit, CopyToRange:=Range("a2:k2"), Unique:=False
    End With
'---- tri ---
   Range("a2:k" & Range("a65000").End(xlUp).Row).Sort _
    Key1:=Range("a3"), Order1:=xlAscending, _
    Key2:=Range("A6"), Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom
    Range("a1").Activate
End Sub

Pour que ce soit plus facile à cerner, je joins la feuille liste, de laquelle les données doivent être extraites ainsi que la feuille booking qui contiendra les données extraites de la feuille liste.

Merci beaucoup pour votre aide,

Claude

Bonjour,

l'erreur venait que l'en-tête "Bon de commande" n'existe pas dans la feuille "Liste"

ici j'ai mis "Numero de bon"

et revu un peu le code

Sub ExtraitDate()
Dim Lg%, Crit As Range
''Macros par Claude Dubois pour "klode" Excel-Pratique le 22/07/10
'revu le 10 mai 2011
        Application.ScreenUpdating = False
   With Sheets("Liste")
        Lg = .Range("A65536").End(xlUp).Row
        If Range("o2") <> "" Then
            Range("s2") = "=Liste!e2>=$m$2"
            Set Crit = Range("s1:t2")
        Else
            Range("s2") = "=Liste!e2>=$m$2"
            Set Crit = Range("s1:s2")
        End If
            .Range("a1:u" & Lg).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            Crit, CopyToRange:=Range("a2:k2"), Unique:=False
    End With
'---- tri ---
   Range("a2:k" & Range("a65000").End(xlUp).Row).Sort _
    Key1:=Range("a2"), Order1:=xlAscending, _
    Key2:=Range("b2"), Order2:=xlAscending, Header:=xlYes, OrderCustom:=1, _
    MatchCase:=False, Orientation:=xlTopToBottom
    Range("a1").Activate
End Sub

Amicalement

Claude

14klode-filtre.xlsm (83.80 Ko)

Merci Claude d'avoir revu mon classeur. Je vois que j'étais sur la bonne voie, car j'avais déjà apporté quelques corrections dont "=Liste!e2>=$m$2" au lieu de "=Liste!d2>=$m$2". Je cherchais une erreur compliquée, alors que c'était une erreur toute simple.

Encore merci,

Claude

Rechercher des sujets similaires à "erreur 1004"