Bonjour,

Je me tourne vers vous car j'ai un souci avec une macro. Le but de celle-ci est simplement d'afficher et masquer des lignes en fonction de la présence de données dans certaines cellules.
En elle-même, elle fonctionne très bien et, au début, elle fonctionnait rapidement (qq secondes), mais maintenant, elle met près de 3mn à tourner alors qu'elle est franchement basique. Je vous laisse en juger :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Private Sub Workbook_Open()
Dim i As Long
i = 3
Do While i <= 89
ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).EntireRow.Hidden = False
i = i + 1
Loop
i = 3
Do While i <= 29
If ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).Value = "" Then
    ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).EntireRow.Hidden = True
End If
i = i + 1
Loop
i = 33
Do While i <= 59
If ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).Value = "" Then
    ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).EntireRow.Hidden = True
End If
i = i + 1
Loop
i = 63
Do While i <= 89
If ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).Value = "" Then
    ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).EntireRow.Hidden = True
End If
i = i + 1
Loop
End Sub
Je ne m'explique pas pourquoi elle est devenue si lente. Aucune modification n'a été apportée sur ce fichier. La seule modification de près ou de loin est que le répertoire dans lequel il se trouve a été sécurisé : Il n'est plus en accès public mais je suis désormais le seul autorisé (en sus des administrateurs) à pouvoir le visualiser et le modifier.

A noter que la première instruction, sur laquelle il n'y a pas de condition :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Do While i <= 89
ThisWorkbook.Sheets("ACTIVITE COMMERCIALE").Cells(i, 1).EntireRow.Hidden = False
i = i + 1
Loop
met déjà plus d'une minute à touner

Si quelqu'un a une idée...

Merci d'avance