Problème avec Range.AdvancedFilter, méthode
Bonjour
J’ai ce code
Code:
1 2 3 4 5 6 7 8 9 10 11
|
'*** Initialiser
Set WsScr = Worksheets("G")
Set WsDest = Worksheets("Synthèse")
'* Plage des données
Set Donnees = WsScr.Range("G9:I" & WsScr.[I9].End(xlDown).Row)
'*** Récupérer liste des Date paiement
Set ListeDates = WsScr.Range("I8:I" & WsScr.[I9].End(xlDown).Row)
ListeDates.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=WsDest.Range("I4"), Unique:=True |
qui adapté aux besoins fonctionne correctement plusieurs fois dans un classeur a l’exception de ce code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Dim WsScr As Worksheet, WsDest As Worksheet
Dim Mvts As Range, cel As Range, Donnees As Range
Dim DerLgn As Long, TotPaye As Double, TotRbt As Double, Nbre As Double
'* Initialiser
Set WsScr = Worksheets("Mouvts")
Set WsDest = Worksheets("Synthèse")
DerLgn = WsScr.[E2].End(xlDown).Row
'*** Récupérer liste des Dépenses
Set Mvts = WsScr.Range("E2:E" & DerLgn)
MsgBox Mvts.Address(0, 0)
Mvts.AdvancedFilter Action:=xlFilterCopy, CopyToRange:=WsDest.Range("S4"), Unique:=True |
qui me génère l’erreur suivante
Citation:
Erreur d’exécution 1004
Nom du champ introuvable ou incorrect dans la plage d’extraction
MsgBox Mvts.Address(0, 0) définit bien la plage < E2 :E164 >
Il s’agit d’un tableau < Ligne 2 a 164 sur 8 Colonnes < A a H >
J’ai testé un code donné par Corona adapté a mes besoins qui génère également la même erreur
Code:
1 2 3 4 5 6 7 8 9
| Sub Filtre()
Dim cel As Range
Set cel = ThisWorkbook.Worksheets("Mouvts").Range("A2").CurrentRegion
MsgBox cel.Address(0, 0)
cel.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Worksheets("Mouvts").Range("E2:E164"), CopyToRange:=Worksheets("Synthèse").Range("S4"), Unique:=False
End Sub |
Après avoir tout vérifié, je suis dans l’impasse
Merci d’avance de votre aide
________________
Cordialement