Macro masquer colonnes

Résolu
Bonjour,

Je vous demande conseil encore une fois pour une macro. Je crois n'être vraiment pas loin, cependant il y a un léger détail que je n'arrive pas à réussir.
Voici ma macro :

Sub Masquer_colonnes()
'
' pour afficher les lignes
Sheets("Inventaire").Select
Cells.Select
Selection.EntireColumn.Hidden = False

' Pour masquer les lignes

Dim Ligne As Integer

For Col = 4 To 35
If Cells(Col, 2) = "N" Then
Columns(Col).Hidden = True
End If
Next

End Sub

Je sais que cette ligne de ma macro ne fonctionne pas, toutefois je ne sais pas comment régler ce problème.

Dans la colonne 4 à 35 à la ligne 2 (donc commence à D2 jusqu'à AI2), j'ai une fonction Si qui me donne la réponse "N" ou "O". Lorsque la réponse donne "N", je souhaite que la colonne ce masque.

Merci d'avance,

2 réponses

  1. Public Sub masquer()
    Dim co As Byte, li As Long
    li = 2  ' pour tester dans une seule ligne : la ligne 2
    For co = 4 To 35
      If Cells(li, co) = "N" Then
        Columns(co).Hidden = True
      End If
    Next co
    End Sub
    
    Public Sub Afficher()
    Columns("E:AH").Hidden = False
    End Sub

    Cdlmnt
    1
    1. Super, ça fonctionne :)

      Merci beaucoup !
      0
  2. Bonjour

    If Cells(Col, 2) = "N" Then
    Il y a au moins un pb avec la syntaxe de Cells
    Cells(ligne, colonne) et non cells(colonne, lignes)

    Cdlmnt
    0
    1. D'accord, je n'étais pas sur car je savais que Cells (lignes, colonne) fonctionne, mais ça fonctionne lorsque mes données sont dans une même colonne. Or, cette fois-ci, mes données sont dans plusieurs colonnes, mais dans une même ligne ... Avez-vous une autre solution à me proposer ?

      merci
      0