Je souhaite appliquer une fonction sur toutes les worksheets de mon workbook pour cacher les lignes ayant pour valeur de la première colonne '1' (utilisation de SpecialCells).
Le code suivant fonctionne :
Sub HideSelectedRows()
For Each WS In Worksheets
On Error Resume Next
WS.Range("A1", "A1000").SpecialCells(xlCellTypeConstants, 1).EntireRow.Hidden = True
Next
End Sub
Mais si je remplace WS.Range("A1", "A1000") par WS.Range("A1", Range("A1000").End(xlUp)), la fonction n'est appliquée que sur la worksheet courante, et pas sur les autres.
La raison pour laquelle je veux faire ce changement est la performance de l'opération sur de nombreuses worksheets dont je ne connais pas a priori le nombre de lignes.
Des idées?
Le code suivant fonctionne :
Sub HideSelectedRows()
For Each WS In Worksheets
On Error Resume Next
WS.Range("A1", "A1000").SpecialCells(xlCellTypeConstants, 1).EntireRow.Hidden = True
Next
End Sub
Mais si je remplace WS.Range("A1", "A1000") par WS.Range("A1", Range("A1000").End(xlUp)), la fonction n'est appliquée que sur la worksheet courante, et pas sur les autres.
La raison pour laquelle je veux faire ce changement est la performance de l'opération sur de nombreuses worksheets dont je ne connais pas a priori le nombre de lignes.
Des idées?