Rapidité d'un VBA

di99er - 15 mai 2001 à 18:24
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 - 9 août 2007 à 11:04
J'ai fait une fonction récursive en VBA qui est appelée à chaque fois dans le parcours d'un recordset. Elle exécute elle-même une requête et s'appelle elle-même ( principe de la récursivité ). A la fin, elle fait soit un ajout, soit une mise à jour.

En tout, cela ajoute et met à jour plus de 9000 enregistrements, mais seulement en agissant sur un seul enregistrement à la fois, et voilà cette procédure VBA est beaucoup trop lente et je ne comprends pas pourquoi?

Y a t-il moyen de l'optimiser sachant que toutes les requêtes s'éxecute en direct pour attaquer ma BD SqlServer. Notamment si il y a moyen de regrrouper tout mes requêtes et qu'à la fin, il n'en fasse qu'une qui me fasse le résultat total.
Nous avons d'autres procédures qui font bien plus d'actions et qui prennent seulement 5 min.

Si vous avez besoin de mon source n'hésitez pas. Merci d'avance

1 réponse

cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
9 août 2007 à 11:04
Bonjour, tu trouveras plusieurs exemples/solutions sur ce site dans les rubriques "vba" ou "optimisation de code". Ou depuis le moteur de recherche avec les mots clef "recursivite, vba, optimisation". Si malgres cela tu ne trouves pas de reponse et si ta question est toujours d'actualité, tu peux lancer une nouvelle discussion sur le forum.

Bonne pr@g
0
Rejoignez-nous