Bonjour,
Comment font-ils chez WINDOWS pour compresser leurs délais?
Ecris ton code en VB.Net, C# ou C++ ou autre langage compilé et tu verras la différence !
VBA est du code interprété ce qui veut dire que le compilateur lit ligne par ligne donc bien plus long que du code VB.Net ou C# etc... qui une fois compilé est en langage machine ce qui élimine des couches d'interprétations et donc, qui réduit fortement le temps d'exécution.
Plus tu rajoutes de lignes de code, plus tu ralentis l'exécution complète, plus tu rajoutes de phases de calculs plus tu ralentis :
U.Barre_2.Width = ((c - d + 1) / (n - d + 1)) * m
U.Label1.Caption = "Progression: " & Int(100 * (c - d + 1) / (n - d + 1)) & "%"
Et bien sûr, le meilleur pour la fin :
Application.Wait (Now() + TimeValue("00:00:03"))
Tu demandes au compilateur de faire une pause de 3 secondes à chaque appel de la Sub() !
Tu peux trouver VB.Net Express qui est gratuit et concevoir une Dll où sera ou seront stockées tes fonctions que tu pourras appeler depuis Excel, le langage sera compilé et donc, plus rapide d'exécution.