Macro Excel
Lychee
-
Mike-31 Messages postés 19572 Date d'inscription Statut Contributeur Dernière intervention -
Mike-31 Messages postés 19572 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!
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!
A voir également:
- Macro Excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
1 réponse
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
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