bonjour,
 
Dans la partie 3 supprimer les set redondants (je crois)
objexcel.ActiveWorkbook.ActiveSheet.Cells("1" ).Select  
Set wsExcel = wbExcel.Worksheets(1)  
Set sheet = objexcel.ActiveWorkbook.ActiveSheet  
 
mettre à la place :
 
i = wsExcel.Cells(65535, 1).End(xlUp).Row 
 
remplacet la boucle while par :
 
 
For k = 1 to i
...
.text = wsExcel.Cells(k,1)  
...
.text = wsExcel.Cells(k,1)
...  
Next
 
... l'important étant de virer tous les offset aussi consommateurs de temps que des select !
 
...Et croiser les doigts !  
  
 
Sinon l'idéal serait de stocker le Range(Cells(1,1),Cells(i,1)) dans un Array et refermer le classeur : L'accès à un Array est au moins 100 x plus rapide que l'accès au Range.
Dim Tablo()
 
...
i = wsExcel.Cells(65535, 1).End(xlUp).Row 
Tablo = Range(Cells(1,1),Cells(i,1))
 
For k = 1 to i
...
.text = Tablo(k,1)  
...
.text = Tablo(k,1)  
...
Next
 
...Et croiser les doigts encore plus fort !  
   
  
 
(je ne suis pas arrivé à faire fonctionner cette macro !  
  
 
A+
 
Message édité par galopin01 le 28-08-2006 à 14:29:04