Programmer une condition

Fermé
Mag - 1 juil. 2011 à 10:41
 Mag - 1 juil. 2011 à 13:43
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
A voir également:

2 réponses

lucas06150 Messages postés 151 Date d'inscription jeudi 17 décembre 2009 Statut Membre Dernière intervention 19 juillet 2012 11
1 juil. 2011 à 11:39
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
J'avais également essayer cette solution mais ce n'est pas la bonne.
0
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 575
1 juil. 2011 à 11:47
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
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
g Messages postés 1262 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 15 mai 2017 575
1 juil. 2011 à 13:30
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
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