cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011
-
6 mai 2010 à 11:28
cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011
-
17 mai 2010 à 16:36
Bonjour à tous,
Voici un code qui fonctionne
Le seul problème est sa lenteur.
dans ma feuille xls j'ai environ 5000 lignes.
Le tps de l'exécution est d'environ 10 secondes (c'est trés long !!)
1°) Contrôle des filtres
2°) remplissage des cellules avec l'Userform1
3°) je vide l'userform
La vraie lenteur est dans le remplissage des cellules avec les textbox ou combobox.
Comment puis-je l'accélérer ?
Dim objControl As Control 'Collection des contrôles de l'userform
If Selection.AutoFilter Then
Selection.AutoFilter Field:=4
Range("B10").End(xlDown).Offset(1, 0).Select
Else
Range("B10").End(xlDown).Offset(1, 0).Select
End If
cs_zeps2
Messages postés61Date d'inscriptionvendredi 9 novembre 2007StatutMembreDernière intervention28 octobre 2011 17 mai 2010 à 16:36
En fin de compte la lenteur est du au nb de feuille (+de 10) et du fait que la liste déroulante des combobox fait référence à des plages ds une feuille.
En ne mettant que 2 feuilles, le remplissage est quasiment instantané, et en mettant le listing ds le code, ça va beaucoup plus vite également.
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 6 mai 2010 à 14:14
Si la lenteur n'est du qu'au nb de lignes que tu as, tu peux désactiver le rafraichissement d'EXCEL et passer en mode de calcul manuel. Tu réactives le tout à la fin de ta procédure.