Problème avec macro qui masque les lignes

  • Initiateur de la discussion Initiateur de la discussion gillmo
  • 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 !

gillmo

XLDnaute Occasionnel
bonjour,

J'ai un code VBA qui masque des lignes sur une feuille. Tout fonctionnait correctement, et je reprend le dossier que j'avais donné à une autre personne, le code est toujours le même, mais maintenant le code tourne et je suis obligé de passer par echap pour arrêter la macro.

Je ne comprend pas pourquoi le code se bloque malgré que le fichier soit rester le même dans le format, il n'y a eu que des lignes ajoutées.

Ci dessous le code utilisé :

Private Sub Worksheet_Activate()

Dim cell As Range, plage As Range
Application.ScreenUpdating = False
Set plage = Range("w18:w500")
For Each cell In plage
If cell.Value = 1 Then
cell.Rows.EntireRow.Hidden = True
Else: cell.Rows.EntireRow.Hidden = False
End If
Next
Application.ScreenUpdating = True

End Sub

merci pour votre aide, si jamais il faut le fichier complet, je le mettrai ultérieurement.

Cordialement.
 
Re : Problème avec macro qui masque les lignes

Bonsoir Gilmo

Merci de mettre tes lignes de code entre les balises
Code:
 [/ Code][/B]
(sans espace entre [/ et Code])
 
Pour moi, comme ça, il n'y a pas de raison ... peux tu joindre le fichier ?
 
A+
 
Re : Problème avec macro qui masque les lignes

Bonjour,

ci joint le fichier, je pense qu'il s'agit d'un problème de volume de données mais je ne suis pas sur. La macro se déclenche lorsque l'on clique sur l'onglet récap, et après ca tourne mais ca ne s'arrete pas.

merci.
 

Pièces jointes

Re : Problème avec macro qui masque les lignes

Bonjour,

Code:
Private Sub Worksheet_Activate()
  Application.Calculation = xlCalculationManual
  Dim cell As Range, plage As Range
  Application.ScreenUpdating = False
  Set plage = Range("w18:w500")
  For Each cell In plage
   x = cell.Address
   If cell.Value = 1 Then
     cell.Rows.EntireRow.Hidden = True
     Else: cell.Rows.EntireRow.Hidden = False
   End If
  Next
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
End Sub

JB
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
7
Affichages
212
Réponses
7
Affichages
164
Réponses
4
Affichages
552
Réponses
3
Affichages
452
Retour