Bonjour à tous,
Dans un premier temps, je tiens à vous remercier chacun de vous pour votre temps que vous accordez à aider les gens dans le besoin. C'est mon premier post ici, mais de nombreux sujets que j'ai consulté précédemment m'ont permis de me sortir de situations bien embêtantes ...
Mais si je poste ici c'est que j'ai un problème persistant auquel je n'ai pas trouvé de solutions, même après des recherches intensives sur le net, en français comme en anglais.
Je m'explique :
Je travaille sur un outil destiné à mon entreprise et qui servira de support de vente pour les commerciaux. Il s'agit en fait d'un outil Excel générant une courbe à partir de données issues de plusieurs essais et qui sont stockées sur une base de données Access.
J'ai crée cette base de données Access ainsi qu'une requête servant à renvoyer les données selon deux paramètres. Là n'est pas la question puisque tout fonctionne bien.
J'ai crée une connexion entre ma base Access et mon fichier Excel me permettant de lancer ma requête SQL sous Access et en prenant des paramètres de mon fichier Excel. Cette connexion me charge un tableau stocké sur une feuille de mon fichier Excel.
J'ai ensuite crée une procédure générale qui actualise la requête avec un ActiveWorkbook.RefreshAll auquel je fais suivre des appels de procédures diverses servant à l'exploitation statistique
Le problème est qu'en utilisant ce moyen pour actualiser mes données, les procédures qui suivent n'attendent pas la fin de la requête et s'exécutent donc avec les mauvaises données.
J'ai essayé plusieurs méthodes pour tenter d'y remédier : utiliser un DoEvents, utiliser une boucle de temporisation, utiliser un Wait Now, ... tout ce que j'ai trouvé sur le net !
La solution consistant à désactiver l'actualisation en arrière plan semble marcher mais lorsque je l'utilise, j'ai un message d'erreur : "Téléchargement non effectué". Les données ne sont pas mises à jour.
Voilà, si quelqu'un a une solution à me conseiller, je suis preneur ...
J'espère avoir été assez précis dans mes explications et n'hésitez pas à me demander si vous avez besoin de plus.
Merci d'avance pour votre aide.
Partager