Bonjour à tous,
J’exécute la macro suivante et je trouve l’application plutôt lente.
Comme je ne sais pas comment la simplifier je fais appel à vous.
"Sub Macro1()
'
' Macro1 Macro
'
'
ActiveSheet.Range("$A$2:$S$65536").AutoFilter Field:=7, Criteria1:=Range("J1")
Rows("6:6").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A6").Select
ActiveCell.FormulaR1C1 = "=R[1]C"
Range("B6").Select
ActiveCell.FormulaR1C1 = "=R[1]C+1"
Range("C6").Select
ActiveCell.FormulaR1C1 = "=R[1]C"
Range("D6").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("F7").Select
Selection.Copy
Range("F6").Select
ActiveSheet.Paste
Range("H7").Select
Selection.Copy
Range("H6").Select
ActiveSheet.Paste
Range("J7").Select
Selection.Copy
Range("J6").Select
ActiveSheet.Paste
Range("J1").Select
Selection.Copy
Range("G6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub"
A noter l'execution de ma macro se fait via celle-ci :
"Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$1" Then Call Macro1
End Sub"
D'avance merci.
J’exécute la macro suivante et je trouve l’application plutôt lente.
Comme je ne sais pas comment la simplifier je fais appel à vous.
"Sub Macro1()
'
' Macro1 Macro
'
'
ActiveSheet.Range("$A$2:$S$65536").AutoFilter Field:=7, Criteria1:=Range("J1")
Rows("6:6").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A6").Select
ActiveCell.FormulaR1C1 = "=R[1]C"
Range("B6").Select
ActiveCell.FormulaR1C1 = "=R[1]C+1"
Range("C6").Select
ActiveCell.FormulaR1C1 = "=R[1]C"
Range("D6").Select
ActiveCell.FormulaR1C1 = "=TODAY()"
Range("F7").Select
Selection.Copy
Range("F6").Select
ActiveSheet.Paste
Range("H7").Select
Selection.Copy
Range("H6").Select
ActiveSheet.Paste
Range("J7").Select
Selection.Copy
Range("J6").Select
ActiveSheet.Paste
Range("J1").Select
Selection.Copy
Range("G6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub"
A noter l'execution de ma macro se fait via celle-ci :
"Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$1" Then Call Macro1
End Sub"
D'avance merci.