dan5071
Messages postés2Date d'inscriptionmercredi 10 février 2010StatutMembreDernière intervention11 mars 2010
-
10 mars 2010 à 15:10
dan5071
Messages postés2Date d'inscriptionmercredi 10 février 2010StatutMembreDernière intervention11 mars 2010
-
11 mars 2010 à 06:11
Bonjour à tous...
Je suis nouveau sur le site - tout autant qu'en programmation VBA
je me suis embarqué dans une galère et là j'ai un problème : Je construit avec mes petites connaissances en VBA une appli qui sera offert à une cinquantaine d'utilisateurs sans connaissance d'EXCEL. Ces gens sont tous des confrères dans une organisation syndicale à qui on demande de faire une analyse d'un registre fournit par un employeur de façon mensuelle. Voilà que le fichier fournit est un tableau de 15 colonnes qui compte environ 25000 lignes. Nous devons tous y retrouver le mouvements depuis le registre précédents en plus d'autres recherches à partir de dates inscrite sur chaque ligne.
Voila que le code me permettant de traiter l'information requise est fait et fonctionne admirablement bien. mais lorsque je veux l'intégrer dans une listbox qui est appellé à changer au gré de boutons (filtres) que l'utilisateur active, le traitement devient vraiment long. Quand je teste les routine 1 à 1, tout s'exécute en 1 clin d'oeil... mais c'est une autre paire de manche lorsque je lance la userform dans laquelle on retrouve la listbox et les boutons filtres.
Quelqu'un peut-il m'aider en me suggérant des choses à vérifier ou m'éclairer sur les limites de VBA que je ne connais pas.
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 20151 10 mars 2010 à 23:55
Essaye de faire simple pour commencer. Fais un tableur à 1 colonne dont tu mettra les valeurs dans une listebox. Augmente le nombre de valeur de ton tableau jusqu'au meme nombre de ligne que dans ton problème. S'il n'y a pas de lenteur alors la cause n'est pas le nombre d'entrée
dan5071
Messages postés2Date d'inscriptionmercredi 10 février 2010StatutMembreDernière intervention11 mars 2010 11 mars 2010 à 06:11
Merci!
Ta suggestion pour tester l'origine du problème m'a amené à cerner le problème et le résultat à été de suprimer la ligne de code dans le userform ou j'affecte une valeur à la propriété Rowsource de la liste et de remplacer cette ligne de code par une ligne de code dans la procédure affectant la liste.
La commande tel que remplacé est la suivante et terriblement efficace ( traitement de l'ensemble des données en 1 clin d'oeil )
: "maliste.List() = Sheets("feuil3").Range("A1:o200").Value"