Script trop lent

Script trop lent - VB/VBA/VBS - Programmation

Marsh Posté le 04-07-2006 à 18:17:51    

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.
 
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

Reply

Marsh Posté le 04-07-2006 à 18:17:51   

Reply

Marsh Posté le 05-07-2006 à 09:00:55    

Tu lis dans une feuille et tu écris dans 112 feuilles... c'est bien ca ?
Si c'est ca, pourquoi tu boucles sur les feuilles ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed