Bonsoir le forum,
J'ai un fichier d'une taille de 350 ko env. comprenant 5 onglets dans lesquels se trouvent quelques Userforms, une dizaine de code VBA, un peu de mise en forme conditionnelle et quelques formules non matricielles sur une plage de 40 lignes environ mais rien de trés complexe
et pourtant pour éxécuter un ptit code afin de masquer et afficher une zone du tableau, ça met 10 secondes à se réaliser.
Sur un fichier de test, j'ai effacé toutes les formules Excel, les quelques Mise en forme conditionnelle, supprimé quelques onglets et surtout mis l'ensemble de mes codes VBA en commentaire sauf le code qui rame,
Mais le problème de lenteur demeure tjs,
Est ce que le fait de mettre les codes en commentaire permet de dire que ça ne vient pas des codes VBA ??
Sinon je vous indique ci-dessous celui qui s'éxécute lentement :
=========================
Sub Masque()
For Ligne = 8 To 42
If Range("J" & Ligne) = 0 Then Rows(Ligne).EntireRow.Hidden = True
Next Ligne
End Sub
Sub Affiche()
Rows.EntireRow.Hidden = False
End Sub
Private Sub ToggleButton1_Click()
Application.ScreenUpdating = False
If ToggleButton1.Value = True Then Call Masque
If ToggleButton1.Value = False Then Call Affiche
End Sub
==================
Merci d'avance pour votre aide
Slts
J'ai un fichier d'une taille de 350 ko env. comprenant 5 onglets dans lesquels se trouvent quelques Userforms, une dizaine de code VBA, un peu de mise en forme conditionnelle et quelques formules non matricielles sur une plage de 40 lignes environ mais rien de trés complexe
et pourtant pour éxécuter un ptit code afin de masquer et afficher une zone du tableau, ça met 10 secondes à se réaliser.
Sur un fichier de test, j'ai effacé toutes les formules Excel, les quelques Mise en forme conditionnelle, supprimé quelques onglets et surtout mis l'ensemble de mes codes VBA en commentaire sauf le code qui rame,
Mais le problème de lenteur demeure tjs,
Est ce que le fait de mettre les codes en commentaire permet de dire que ça ne vient pas des codes VBA ??
Sinon je vous indique ci-dessous celui qui s'éxécute lentement :
=========================
Sub Masque()
For Ligne = 8 To 42
If Range("J" & Ligne) = 0 Then Rows(Ligne).EntireRow.Hidden = True
Next Ligne
End Sub
Sub Affiche()
Rows.EntireRow.Hidden = False
End Sub
Private Sub ToggleButton1_Click()
Application.ScreenUpdating = False
If ToggleButton1.Value = True Then Call Masque
If ToggleButton1.Value = False Then Call Affiche
End Sub
==================
Merci d'avance pour votre aide
Slts
Dernière édition: