XL 2016 Problème Temps d'exécution augmente !

Pounet95

XLDnaute Occasionnel
Bonjour à toutes et tous
Je bricole une application en VBA pour trouver la martingale qui me fera gagner à l'Euromillions ( on peut rêver !).
Par un clic sur un bouton dans un USF je déclenche une macro qui en déclenche d'autres dans le but d'obtenir quelques éléments sur un tirage tiré ou pas.
Pour une même grille j'ai constaté, en insérant une boucle 1 à 10 sur la macro, que le temps d'éxécution passait de 35s à 1mn52s.
Si je ferme Excel, l'ouvre à nouveau et recommence, l'évolution des temps est confirmée. Problème de mémoire ????

Cerise sur le gâteau : afin que l'utilisateur ( moi ) ne se pose pas la question "ça marche ?", j'aimerais insérer de quoi informer l'avancement des calculs sans bien sûr que ça influe de trop sur le temps d'éxecution. J'ai envisagé sans le faire encore la MAJ live de la grille mais il s'agit d'une "photographie" de la plage de calcul dans une feuille du classeur et elle n'est mise à jour que lorsque tous les calculs sont faits. Peut-être quelque chose dans la ligne de status ? Barre de progression ? Affichage dans des labels du USF du nom de la procédure ou du moins ce qu'elle fait ?

Qu'en pensez-vous ?
Ecran Stats Euromillions.png Temps Exécution.PNG
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pounet,

Pour la première question, sans le code c'est difficile à dire.
( je suppose que 35s et 1:52 c'est pour une boucle pas pour les 10 )
Peut être un nettoyage à la fin de la sub :
Ensuite pour accélérer avez vous tout figer en début de macro :
VB:
Application.ScreenUpdating = false ' '( figer ), =true ( réactiver )
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
( et évidemment tout remis à l'endroit en sortant )

Pour le second point, on peut jouer avec le StatusBar, même y mettre un Progressbar si vous pouvez calculer à quelle progression vous êtres, ou au moins l'avancement :
 

Pounet95

XLDnaute Occasionnel
Bonsoir,
C'est bien cela : 35s à la 1ère exécution et 1mn52s pour la 10ème
J'ai bien mis screenupdating=false
Je ne fais pas de calculs
Il n'y a pas d'évènement de feuille appelé (aucun code même si je navigue entre 2 feuilles)
DisplayPageBreaks ?? j'ai cherché avec F1, seul et précédé de activesheet : rien trouvé !
Progressbar : pas de pièce jointe. Trop âgé ?
Au chargement de la feuille je recalcule les plages de données et les nomme afin de les sélectionner plus facilement. Là j'avais omis de faire une RAZ des variables indicées. Corrigé
Je continue mes investigations .....!
 

Pounet95

XLDnaute Occasionnel
Ok trouvé : j'avais bien cliqué le lien mais pas fait attention aux onglets.
ça fonctionne ……… mais qu'est-ce qu'il est laid !!!
A mon avis, si on ne sait pas qu'il existe, pas facile à voir. En couleur s'eut été mieux
 

Staple1600

XLDnaute Barbatruc
Bonsoir

[humour bon enfant]
C'est normal, dans sa grande sagesse, Excel fait en sorte de décourager ceusses qui veulent trouver des martingales avec ses cellules.
D'ailleurs dans sa dernière version, si on saisit dans la cellule ces deux mots
NH666: gimme money
(NH=> No hope)
Un lien hypertexe s'affiche et pointe vers ce site
[/humour bon enfant]
 

Staple1600

XLDnaute Barbatruc
Re

Alors, si il faut être sérieux
Fais péter le code VBA, qu'on voit sa tronche

PS: Désolé , pour ce ton familier.
J'ai pris trop de sirop pour éviter le virus couronné dont on nous rabâche toute la saine journée qu'il est très méchant et qu'on va tous faire faire un sacré bond au CA de la Maison Borniol ;)
 

Pounet95

XLDnaute Occasionnel
StatusBar problème.PNGBonsoir ( ou presque )
Je joins le fichier comme convenu. Trop gros ! 3,5 Mo Normal il contient les données FDJ consolidées.
Comment puis-je faire ? Il y a un site dédié ou il faut que je me dé……...brouille ?
Je cherche sur la toile de quoi résoudre le problème rencontré pour utiliser une statusbar ajoutée à la liste de contrôles d'Excel ( photo jointe)
 

Discussions similaires

Réponses
4
Affichages
273

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof