Bonjour,
Je me permets de vous solliciter car je voudrais écrire une macro ayant ce comportement :
Masquer les lignes 21 à 1110 dont la valeur en colonne U est égale à 0, et ce pour toutes les feuilles exceptées celles exclues dans la condition "If".
La macro fonctionne correctement (en partie) car elle ne se lance que que sur la feuille active.
Ma boucle pour la faire tourner sur toutes les feuilles exceptées certaines ne fonctionne pas et je n'arrive pas à comprendre pourquoi.
Il doit y avoir une subtilité mais elle m'échappe.
Pourriez-vous m'aider ?
Je vous remercie par avance
Je me permets de vous solliciter car je voudrais écrire une macro ayant ce comportement :
Masquer les lignes 21 à 1110 dont la valeur en colonne U est égale à 0, et ce pour toutes les feuilles exceptées celles exclues dans la condition "If".
La macro fonctionne correctement (en partie) car elle ne se lance que que sur la feuille active.
Ma boucle pour la faire tourner sur toutes les feuilles exceptées certaines ne fonctionne pas et je n'arrive pas à comprendre pourquoi.
VB:
Sub MasquerLignesZero()
Dim Ws As Worksheet
Dim c As Range
For Each Ws In Worksheets
If Ws.Name <> Sheets(1).Name And Ws.Name <> Sheets(2).Name And Ws.Name <> Sheets(3).Name And Ws.Name <> Sheets(4).Name And Ws.Name <> Sheets(5).Name And Ws.Name <> Sheets(6).Name And Ws.Name <> Sheets(7).Name And Ws.Name <> Sheets(18).Name And Ws.Name <> Sheets(19).Name Then
For Each c In Range("U21:U1110")
c.EntireRow.Hidden = (c = 0)
Next c
End If
Next Ws
End Sub
Il doit y avoir une subtilité mais elle m'échappe.
Pourriez-vous m'aider ?
Je vous remercie par avance