Script vba excel trop lent
Voici une partie d'un script vba fait avec excel 2003. Il copie les lignes d'une feuille vers d'autres feuilles selon un critère. Le nom contenu dans la colone A correspond à une feuille ex:A1=Zootman alors la ligne complète est copiée dans une feuille dont l'onglet s'appelle Zootman. Le problème c'est qu'il est très long à executer. Je l'ai fait avec une boucle imbriquée. Ca prend presque 2h pour copier 16 500 lignes. Quelqu'un aurait une suggestion pour que ce soit plus rapide? Merci.
Code:
1 2 3 4 5 6 7 8 9 10
| For i = 1 To Sheets.Count - 1
k = 1
For j = 1 To nbCell + 1
If Sheets(i).Name = Sheets("Zootman").Cells(j, 1).Value Then
Worksheets("Zootman").Range("A" & j & ":" & "IV" & j).Copy
Worksheets(i).Range("A" & k & ":" & "IV" & k).PasteSpecial
k = k + 1
End If
Next j
Next i |
dans mon cas précis: Sheets.Count = 112 feuilles et nbCell=16500
[Edit] bbil : Penser à rajouter les balises de codes, utiliser le bouton http://www.developpez.net/forums/images/editor/code.gif