Attendre la fin de calcul en VBA

  • Initiateur de la discussion Initiateur de la discussion Domic
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Domic

Guest
Bonjour à tous,
Je sollicite votre aide pour un petit problème de patience d'excel.

Je m'explique, je souhaiterai que lors du transfert de donnée d'un fichier A vers un fichier B excel attende la fin du calcul automatique du fichier B pour continuer à trasferer des données, car la position des données dans le fichier B est déterminé par une série de calcul suite à un premier transfert de donnée.

Actuellement le fichier B est mode de calcul manuel, dans la macro j'active le calcul automatique, le calcul se lance, mais la macro continue et me renvoie une erreur car le calcul n'étant pas terminer, certaine valeurs de position de donné sont erroné.
J'ai bien utilisé un wait, mais le temps de calcul étant variable le résutat n'est pas excelent.

Je souhaiterai savoir aussi ou récuperer l'information du pourcentage d'avancement du calcul pour l'integrer à un progressbar.

Mille merci par avance de votre aide.

Domic
 
Bonjour Domic, le forum

Activer le calcul automatique n'est qu'un changement de propriété ne déclenchant pas le calcul, celui ci reste indépendant et c'est le changement de propriété qui fait que le calcul peut se déclencher de lui même mais n'est pas lié à l'exécution du code en cours. Essaie plutôt de lancer directement le calcul dans ta macro. Logiquement, la macro devra attendre la fin du traitement de l'instruction avant de continuer.

Cordialement, A+

'lance le calcul de tous les classeurs ouverts
Application.Calculate

'calcule la feuille 1 du classeur actif
ActiveWorkbook.Worksheets(1).Calculate

'calcule un classeur particulier
For Each feuille In Workbooks("nomclasseur").Worksheets
feuille.Calculate
Next feuille
 
Bonjour yeahou, le forum

merci pour cette info, la macro attend bien la fin du calcul, et en regardant de plus près, il existe la commande Application.CalculateFullRebuild qui recalcul l'ensemble des classeurs ouvert.

Encore merci,

pas d'idée pour la seconde question?

Domic.
 
Bonjour Michel_M, re-bonjour le forum, Yeahou

mon soucis n'est pas de créer une progressbar, j'y suis arrivé aprés avoir écumer la centrale de téléchargement et celle d'autre site pour réaliser ce que je souhaitais.

mon soucis est de récuperer l'information de progression du calcul pour l'afficher dans un userform de façon à ce que l'utilisateur ne pense pas que l'appli soit planté car le traitement Application.CalculateFullRebuild prend entre 10s et 3 minutes.

Encore Merci

Domic
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Ajout de données
Réponses
3
Affichages
512
Retour