rebonsoir
Sub test()
' definition des variables qui sont utilisées dans la macro
Dim elapsedTime(2), i, starttime, stoptime
Dim c As Object
' on autorise le rafraichissement d'écran excel
Application.ScreenUpdating = True
' on démarre une boucle qui s'exécutera 2 fois
For i = 1 To 2
' si i=2 on interdit le rafraichissement d'écran
If i = 2 Then Application.ScreenUpdating = False
' on prend note de l'heure dans starttime (on démarre un chrono)
starttime = Time
'on active la feuil1
Worksheets("Sheet1").Activate
' on passe en revue chque colonne de la feuille active
For Each c In ActiveSheet.Columns
' si le numéro de colone est pair
If c.Column Mod 2 = 0 Then
'on cache la colonne
c.Hidden = True
End If
Next c
' on prend note de l'heure de fin
stoptime = Time
' on calcule le temps écoulé pour masquer une colonne sur 2, pour chque exécution de la boucle i
elapsedTime(i) = (stoptime - starttime) * 24 * 60 * 60
Next i
' on réautorise le rafraichissement d'écran
Application.ScreenUpdating = True
MsgBox "Elapsed time, screen updating on: " & elapsedTime(1) & _
" sec." & Chr(13) & _
"Elapsed time, screen updating off: " & elapsedTime(2) & _
" sec."
End Sub
en gros la macro démontre le gain de performance que l'on peut obtenir en désactiavant le rafraichissement d'écran, lorsque l'on fait des opérations sur des cellules excel.