Masquer plusieurs colonnes selon liste deroulante

Bonjour à tous,

J'ai pris un fichier du forum pour le masquage des lignes, et je n'arrive pas à le transformer pour des colonnes, çà bug dans le code du vba:

Option Explicit

Dim ln, dercol

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then End
    Application.ScreenUpdating = False
    Cells.EntireColumn.Hidden = False
' dercol_sld = Sheets("soldes").Cells(1, Columns.Count).End(xlToLeft).Column
   dercol = Cells(1, Columns.Count).End(xlToLeft).Column
    If Target.Address = "$A$2" Then
        For ln = 2 To dercol
            If Range("A" & ln) <> Range("A2") Then
                Columns(ln & ":" & ln).EntireColumn.Hidden = True
            End If
            If Range("A2").Value = "TOUT" Then
            Columns(ln & ":" & ln).EntireColumn.Hidden = False
            End If
            Next ln
    End If
End Sub

merci de votre aide.

Franck

Bonjour,

Il y a déjà un TRUC

If Range("A" & ln)

si ln est une colonne "A"& ln ?????

oui c'est vrai, j'ai corrigé, mais c'est pareil:

Option Explicit

Dim ln, dercol

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then End
    Application.ScreenUpdating = False
    Cells.EntireColumn.Hidden = False
   dercol = Cells(1, Columns.Count).End(xlToLeft).Column
    If Target.Address = "$A$2" Then
        For ln = 1 To dercol
            If Cells(2, ln) <> Cells(2, 1) Then
                Columns(ln & ":" & ln).EntireColumn.Hidden = True
            End If
            If Cells(2, 1) = "TOUT" Then
            Columns(ln & ":" & ln).EntireColumn.Hidden = False
            End If
            Next ln
    End If
End Sub

Re,

la touche F8 (pas à pas) pourrait de donner un coup de main

Columns(ln & ":" & ln)

???

Salut Fronck,

Salut M12,

pourquoi te compliques-tu la vie quand ceci fonctionne très bien ?

 ...Then Columns(x).Hidden = True

A+

Bonjour Curulis et M12,

la réponse est:

la variable x n'est pas définie

Rechercher des sujets similaires à "masquer colonnes liste deroulante"