Salut JP?tu es sûr des temps que tu annonces ? parce que chez moi tes commandes s'effectuent toujours en moins d'une seconde. A moins que tu es un PC nettement moins puissant que le mien, je ne comprend pas cette différence.
Exemple de temps affiché chez moi pour une commande Let's go de ton classeur :
Pièce jointe 214021
Ca va?
La macro Let's_GO avait un problème c'est pour ca quelle est super rapide chez toi, celle qui mettait plus de temps environ 7 sec est Let's_GO1. Sur Lets_go1 un j'ai suivit les modif de Dom. Ce qui ralentissait le plus était au niveau du Call Module1.Hide_ligne3() .
avant il y avait:
et maintenant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Sub Hide_ligne() Start = Timer Application.EnableEvents = False 'activation des procédures événementielles Application.ScreenUpdating = False 'Désctive le rafraîchissement de l'écran For Each cellule In Range("A12:A16, A31:A34, A41:A42") If cellule.Value = "0" Then cellule.EntireRow.Hidden = True If cellule.Value = "1" Then cellule.EntireRow.Hidden = False Next cellule Application.EnableEvents = True 'activation des procédures événementielles Application.ScreenUpdating = True 'Désctive le rafraîchissement de l'écran
Cela + quelques modif au niveau des emplacements des procédures événementielles a divisé réduit considérablement le temps d'exécution je suis passé de plus de 30sec à 7 sec environ
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Sub Hide_ligne3() For Each cellule In Range("Hide_fo") If cellule.Value = "0" Then cellule.EntireRow.Hidden = True Else cellule.EntireRow.Hidden = False End If Next cellule End Sub
concernant
Merci de préciser mais j'avais remarquéNote bien l'exposant à la fin de l'affichage de la durée de traitement ce qui vaut : 3,4179 10-2 secondes = 34,179 ms
Sinon j'avais essayé de mettre des
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.Calculation = xlCalculationManual
Mais ça foutai un peu la "M...de" si je peu me permettre a moin que je ne les plaçaient pas au bonne endroit... Bref
Code : Sélectionner tout - Visualiser dans une fenêtre à part Application.Calculation = xlCalculationAutomatic
En conclusion, je suis satisfait du résultat je vous remercie à tous de votre participation en particulier Dom.
Donc une fois de plus résolue
Mon fichier avance à grand pas et en grande partie à vous
MERCI A TOUS et a bientôt....![]()
Partager