Macro masquer colonnes

Résolu
christ.lenoir Messages postés 39 Statut Membre -  
christ.lenoir Messages postés 39 Statut Membre -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. christ.lenoir Messages postés 39 Statut Membre
       
      Super, ça fonctionne :)

      Merci beaucoup !
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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. christ.lenoir Messages postés 39 Statut Membre
       
      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