Usine à gaz
XLDnaute Barbatruc
Bonjour à toutes et à tous
Dans l'une de mes "Usines à gaz", j'ai un souci d'ajouts et de suppressions de lignes qui sont très très longs, en moyenne 2 minutes et ++.
Plus curieux encore, ça prend le même temps pour les feuilles sans code VBA
Je n'arrive pas à trouver pourquoi c'est si long Grrrr !
Malheureusement, je ne peux pas joindre le fichier à problème car il est très lourd et contient mes données confidentielles.
(Mais si c'est indispensable, je prendrai le temps de l'alléger et de supprimer les données confidentielles).
Voici les codes d'ajouts/suppressions :
Dans le fichier test joint, c'est instantané et ...
Dans mon "Usine à gaz", en moyenne 2 minutes et ++. Plus curieux encore, ça prend le même temps pour les feuilles sans code VBA
Auriez-vous des pistes de recherches ?
Un grand merci à tous...
Dans l'une de mes "Usines à gaz", j'ai un souci d'ajouts et de suppressions de lignes qui sont très très longs, en moyenne 2 minutes et ++.
Plus curieux encore, ça prend le même temps pour les feuilles sans code VBA
Je n'arrive pas à trouver pourquoi c'est si long Grrrr !
Malheureusement, je ne peux pas joindre le fichier à problème car il est très lourd et contient mes données confidentielles.
(Mais si c'est indispensable, je prendrai le temps de l'alléger et de supprimer les données confidentielles).
Voici les codes d'ajouts/suppressions :
VB:
Sub ajoute_ligne()
Dim t#
t = Now
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ActiveCell.EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Exécution en " & Mid(Format(Now - t, "hh:mm:ss"), 4)
'MsgBox "Exécution en " & Minute(t) & " minute(s) et " & Second(t) & " seconde(s)"
End Sub
Sub suppr_ligne()
Dim t#
t = Now
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
ActiveCell.EntireRow.Delete Shift:=xlUp
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Exécution en " & Mid(Format(Now - t, "hh:mm:ss"), 4)
'MsgBox "Exécution en " & Minute(t) & " minute(s) et " & Second(t) & " seconde(s)"
End Sub
Dans mon "Usine à gaz", en moyenne 2 minutes et ++. Plus curieux encore, ça prend le même temps pour les feuilles sans code VBA
Auriez-vous des pistes de recherches ?
Un grand merci à tous...
Pièces jointes
Dernière édition: