Code VBA "Afficher/Masquer" trop lent

Amilo

XLDnaute Accro
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
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Code VBA trop lent

Bonjour Amilo,
Essai comme ça:
VB:
Sub Masque_2()
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
For Ligne = 8 To 42
    Rows(Ligne).Hidden = Range("J" & Ligne) = 0
Next Ligne
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Cordialement
 

Amilo

XLDnaute Accro
Re : Code VBA "Afficher/Masquer" trop lent

Bonsoir Efgé,

C'est simplement étonnant la différence de rapidité, l'éxécution est quasi instantannée,

Mille mercis et bravo pour votre rapidité et pour ce code,

Bonne nuit

Cordialement
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
128

Statistiques des forums

Discussions
312 218
Messages
2 086 366
Membres
103 197
dernier inscrit
sandrine.lacaussade@orang