VBA Masquer lignes selon condition

bonjour

je voudrai masquer les lignes dont la valeur en colonne A est égale à "8P"

Pour cela j'ai écrit

With Worksheets("feuil1")
            For Each o In .Range(.Cells(2, 1), .Cells(40, 1))
            If o.Value = "8P" Then
            o.EntireRow.Hidden = True
            End If
            Next
 End With

Mais j'ai un bug d'éxécution 13 sur la ligne

            If o.Value = "8P" Then 

Merci d'avance

Bonjour,

avez-vous déclaré la variable o

Dim o As Range

Bonjour sabV

Oui je l'ai fait

Je pense avoir trouvé l'explication

Une des cellules de la colonne avait comme valeur #N/A d'où l'arrêt du code

Comment empêcher cela svp ?

Bonjour,

à tester,

Sub Macro10()
Dim o As Range
With Worksheets("feuil1")
            For Each o In .Range(.Cells(2, 1), .Cells(40, 1))
            On Error Resume Next
            If Not IsError(o.Value) Then
              If o.Value = "8P" Then
                o.EntireRow.Hidden = True
              End If
            End If
            Next
 End With
End Sub

Impek ' !!!

Merci beaucoup et bonne soirée

Rechercher des sujets similaires à "vba masquer lignes condition"