Programmer une condition

Bonjour,

Je voudrait masquer une colonne si la première cellule de la colone contient le texte "Masquer".

J'ai essayer de la façon suivante mais en fait il me masque toutes les colonnes, même celles où il n'y a pas ce texte :

If (C1 = masquer) Then
Columns("C:C").Select
Selection.EntireColumn.Hidden = True
End If

Quelqu'un peux-t-il m'aider ?

Merci

2 réponses

  1. Salut,

    Essayes comme ca :

    If (C1 = "masquer") Then 
    Columns("C:C").Select 
    Selection.EntireColumn.Hidden = True 
    End If 
    


    masquer est une chaîne de caractères donc tu dois mettre des cotes.
    Lucas
    0
    1. J'avais également essayer cette solution mais ce n'est pas la bonne.
      0
  2. Bonjour,

    Private Sub Worksheet_Change(ByVal Target As Range)
    If [C1] = "masquer" Then
    Columns("C:C").Select
    Selection.EntireColumn.Hidden = True
    Else: Selection.EntireColumn.Hidden = False
    End If
    End Sub

    Bonne journée.
    -1
    1. Voici la macro complète (test sur 2 colonnes):

      Sub test()

      Private Sub Worksheet_Change(ByVal Target As Range)
      If [C1] = "masquer" Then
      Columns("C:C").Select
      Selection.EntireColumn.Hidden = True
      Else: Selection.EntireColumn.Hidden = False
      End If
      If [D1] = "masquer" Then
      Columns("D:D").Select
      Selection.EntireColumn.Hidden = True
      Else: Selection.EntireColumn.Hidden = False
      End If
      End Sub

      VBA attend un End Sub après Sub test () ???
      0
    2. Le code est à copier dans le module de feuille sans Sub test()

      Private Sub Worksheet_Change(ByVal Target As Range)
      If [C1] = "masquer" Then
      Columns("C:C").Select
      Selection.EntireColumn.Hidden = True
      Else: Columns("C:C").Select
      Selection.EntireColumn.Hidden = False
      End If
      If [D1] = "masquer" Then
      Columns("D:D").Select
      Selection.EntireColumn.Hidden = True
      Else: Columns("D:D").Select
      Selection.EntireColumn.Hidden = False
      End If
      End Sub
      0
    3. J'ai enlever la 1ère ligne et mis un Sub() et là ça marche.
      Ca ne fonctionnais pas avec Private Sub

      Merci beaucoup pour ton aide
      0