Programmer une condition

Mag -  
 Mag -
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. lucas06150 Messages postés 147 Date d'inscription   Statut Membre Dernière intervention   11
     
    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. Mag
       
      J'avais également essayer cette solution mais ce n'est pas la bonne.
      0
  2. g Messages postés 1285 Statut Membre 578
     
    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. Mag
       
      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. g Messages postés 1285 Statut Membre 578
       
      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. Mag
       
      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