Macro Excel

Lychee -  
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour!

je commence à travailler avec des macros et VBA, et me voilà bloquée...
Je cherche copier-coller les lignes provenant d'un filtre de la Sheet1 à la Sheet2. Il s'agit d'un document que j'utilise de manière récurrente, voilà pourquoi je voudrais faire une macro.
Les données auront toujours le même nom mais ne seront pas toujours du même nombre.

Ainsi, le "résultat" du fitre "Argent" sera parfois ("A2:F71") mais peut également être ("A2:F354") dans 3 jours. Comment procéder pour que que seules les lignes répondant au filtre soient identifiées?

ActiveSheet.Range("$A$1:$J$2844").AutoFilter Field:=2, Criteria1:= _
"=Argent", Operator:=xlAnd
Range("A2").Select
ActiveWindow.SmallScroll Down:=57
Range("A2:F71").Select
Selection.Cut
Sheets("Sheet2").Select
ActiveSheet.Paste
Range("A3").Select
Sheets("Sheet1").Select
ActiveWindow.SmallScroll Down:=-84
Range("B1").Select
ActiveSheet.Range("$A$1:$J$2844").AutoFilter Field:=2
Range("A1").Select
ActiveWindow.SmallScroll Down:=-15
Application.CutCopyMode = False

Merci pour votre aide!

1 réponse

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Salut,

    essaye comme cela, la sélection commence à la ligne 65536 colonne F et s'arrête sur la première ligne non vide, foltre la colonne A sur le mot Argent et copy à la suite sur la feuille2. si tu veux couper les données remplace Copy par Cut

    Sub Test()
    Application.ScreenUpdating = False
    Range(Range("F65536").End(xlUp), [A1]).Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=1, Criteria1:="Argent"
    On Error Resume Next
    [A2:A100].SpecialCells(xlCellTypeVisible).Select
    Range(Range("F65536").End(xlUp), [A2]).SpecialCells(xlCellTypeVisible).Copy
    Sheets(2).Select
    Range("A65536").End(xlUp).Offset(1, 0).Select
    ActiveSheet.Paste
    Sheets("Feuil1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("A2").Select
    Application.ScreenUpdating = True
    End Sub
    0