Code VBA "Afficher/Masquer" trop lent

  • Initiateur de la discussion Initiateur de la discussion Amilo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
41
Affichages
698
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
  • Question Question
Microsoft 365 Problème de date
Réponses
5
Affichages
162
Réponses
2
Affichages
201
Retour