Bonjour à tous, bonjour le forum,
Je me permets de revenir vers vous et vous demander une nouvelle fois de l'aide.
Je dispose d'une macro qui me permet de trier des données et ensuite de coller ces données dans une autre feuille du même classeur.
Cette macro fonctionne trés bien mais dés que le nombre de lignes est trop important (quand ça dépasse 65000 environ), le tri ne se fait plus ou se fait partiellement.
Quelqu'un aurait-il une solution à m'apporter car n'ayant pas une grande clairvoyance dans la construction et l'analyse des macros, je piétine depuis quelques jours.
Ci-aprés le code.
En vous remerçiant par avance
Sub MacroExtractionA()
Application.ScreenUpdating = False
With Sheets("A").Range("a1"): Range(.Cells, .SpecialCells(xlLastCell)).ClearContents: End With
With Sheets("PAYS")
.Activate
.Range("a1").AutoFilter Field:=9, Criteria1:="A"
.Range(.[a1], .[a1].SpecialCells(xlLastCell)).Copy Destination:=Sheets("A").[a1]
.Range("I1").AutoFilter
Range("O1").Select
Selection.Copy
Sheets("A").Select
ActiveWindow.SmallScroll ToRight:=7
Range("O1").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.LargeScroll ToRight:=-1
Range("A1").Select
Sheets("PAYS").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub
Je me permets de revenir vers vous et vous demander une nouvelle fois de l'aide.
Je dispose d'une macro qui me permet de trier des données et ensuite de coller ces données dans une autre feuille du même classeur.
Cette macro fonctionne trés bien mais dés que le nombre de lignes est trop important (quand ça dépasse 65000 environ), le tri ne se fait plus ou se fait partiellement.
Quelqu'un aurait-il une solution à m'apporter car n'ayant pas une grande clairvoyance dans la construction et l'analyse des macros, je piétine depuis quelques jours.
Ci-aprés le code.
En vous remerçiant par avance
Sub MacroExtractionA()
Application.ScreenUpdating = False
With Sheets("A").Range("a1"): Range(.Cells, .SpecialCells(xlLastCell)).ClearContents: End With
With Sheets("PAYS")
.Activate
.Range("a1").AutoFilter Field:=9, Criteria1:="A"
.Range(.[a1], .[a1].SpecialCells(xlLastCell)).Copy Destination:=Sheets("A").[a1]
.Range("I1").AutoFilter
Range("O1").Select
Selection.Copy
Sheets("A").Select
ActiveWindow.SmallScroll ToRight:=7
Range("O1").Select
ActiveSheet.Paste
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWindow.LargeScroll ToRight:=-1
Range("A1").Select
Sheets("PAYS").Select
ActiveWindow.LargeScroll ToRight:=-1
Range("A1").Select
End With
Application.ScreenUpdating = True
End Sub