Dim oldstatusbar As Boolean
Bonjour,
J'ai un problème, lorsque je lance cette macro qui, jusqu'à il y a peu, fonctionnait parfaitement, Microsoft excel m'écrit:
"microsoft excel a cessé de fonctionner"
Le code plante à l'éxécution de la ligne 13:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| Sub Import_()
'=========================
'importer les MID à comparer
'=========================
Application.ScreenUpdating = False
Sheets("1").Visible = True
Sheets("2").Visible = True
'activer barre d'attente
oldstatusbar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
'...
'code
'...
Sheets("1").Visible = xlSheetHidden
Sheets("2").Visible = xlSheetHidden
Application.ScreenUpdating = True
'fin barre d'attente
Application.StatusBar = False
Application.DisplayStatusBar = oldstatusbar
End Sub |
Quelqu'un aurait-il une idée du pourquoi du comment?
Y a-t-il une limitation à l'utilisation des "Application.StatusBar" ?
Sachant que la même architecture est présente dans d'autres modules du tableur, mais ces dernières fonctionnent parfaitement.
Au passage, ces derniers, dans des boucles for assez grosses, ralentissent ils beaucoup le code ou est-ce négligeable?
Autre question annexe, au pire j'ouvre une nouvelle conversation:
Le code ci-dessous est très lent, est-ce plus rapide de faire un .delete shift:=xlup sur un range si le nombre de colonne est connu?
Rows(suppr_1 & ":" & suppr_2).Delete shift:=xlUp
Partager