Je souhaite masquer tous les onglets de mon classeur en mode xlveryhidden lors de la fermeture de mon classeur(dont le nombre est variable - environ 60 onglets) mon code fonctionne mais cela prend un certain temps et j'aimerais savoir si il existe une possibilité pour en accélérer l'exécution.
Voici mon code
Private sub workbook_beforeclose (cancel as boolean)
application.screenupdating = false
dim onglet as worksheet
for each onglet in worksheets
if onglet.name <> "titi" then
onglet.visible = xlveryhidden
end if
next
end sub
Private Sub workbook_beforeclose(cancel As Boolean)
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
If Sheets(i).Name <> "1" Then Sheets(i).Visible = xlVeryHidden
Next i
Application.ScreenUpdating = True
End Sub
Ton code est tout aussi rapide. Il y a peut être un problème dans ton fichier.
Bonjour.
Essayez à tout hasard d'ajouter aussi Application.EnableEvents = False devant.
On pourrait imaginer que chaque feuille en se masquant provoque l'exécution d'une Worksheet_Activate de la suivante, après, d'ailleurs, celle de sa propre Worksheet_Deactvate.