Code VBA

Bonjour,
Sub Macro4()
'
' Macro4 Macro
'

'
    Range("B10:J315").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range _
        ("Feuil2!Criteria"), CopyToRange:=Range("Feuil2!Extract"), Unique:=False
    Range("M10:S81").Select
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add Key:=Range("S11:S81") _
        , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add Key:=Range("O11:O81") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add Key:=Range("N11:N81") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Feuil2").Sort
        .SetRange Range("M10:S81")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("R10").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Selection.Copy
    Sheets("Feuil3").Select
    Range("B12").Select
    ActiveSheet.Paste
    Range("G1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    ActiveSheet.PageSetup.PrintArea = "$A$1:$G$83"
    Range("A12").Select
End Sub

Quand j'exécute cette macro, lil y a le meesage d'erreur: erreur d'exécution'1004'.
Aidez moi s'il vous plait.

EDIT: Ajout de la coloration syntaxique.

1 réponse

  1. Bonjour,

    Je pense que le problème vient de "Feuil2!Criteria" et de "Feuil2!Extract" qui n'existe pas dans votre feuille de calcul
    Remplacez "Criteria" par la plage contenant la zone de critere (ex: Feuil2!A2:D3) et "Extract" par une cellule (ex: Feuil2!A10)
    Adaptez selon votre feuille

    Cordialement