Afficher ou masquer colonnes selon valeur cellule

Bonjour,

Après avoir fouillé pendant 2h sur internet, je ne trouve pas réponse à mon problème..

Je m'explique:

J'ai créé une colonne avec liste déroulante en colonne K, avec "Oui" ou "Non" comme choix. J'aimerais que si la valeur saisie soit "Oui", les colonnes L, M, N, O et P s'affichent, alors que si la valeur saisie soit "Non", les colonnes soient masquées.

J'ai trouvé cette macro sur un forum:

Option Explicit
Sub Caseàcocher1_Clic()
 If Sheets("Feuil1").Range("B1") = True Then

    Columns("A:A").Hidden = True

   Else
   If Sheets("Feuil1").Range("B1") = False Then

    Columns("A:A").Hidden = False
   End If
   End If
End Sub

Mais je n'arrive pas à l'adapter à mon fichier.

Quelqu'un aurait-il une solution ?

Je profite de ce post pour savoir s'il est possible de créer une liste déroulante avec plusieurs choix de réponse. Simplement en cochant les valeurs possibles.

Merci beaucoup !

Victor

Bonjour

Crdlt

Salut Dan,

Voici le fichier

21classeur1.xlsm (16.35 Ko)

Bonjour SOSHanger, Bonjour Dan,

Voici le code à modifier :

Option Explicit
Sub Caseàcocher1_Clic()
If Range("B1").Value = True Then
    With Columns("A:A")
        .Hidden = True
    End With
Else
    With Columns("A:A")
        .Hidden = False
        .ColumnWidth = 5
    End With
End If
End Sub

En laissant la propriété

 .ColumnWidth = 5

dans la 1ère partie, ça remettait la propriété Hidden à False

Cordialement,

Salut Iron Boule,

Merci pour ta réponse.

Cependant le code que tu viens de modifier correspond à celui trouvé sur un forum, il n'est pas adapté à mon fichier. Je l'ai mis en pièce jointe dans mon avant dernier message si tu veux jeter un coup d'oeil.

Salut tout le monde,

j'imagine que tu n'as qu'une seule validation sur la colonne!?

Une solution sans liste de validation : un simple clic en [K1] alterne "OUI" et "NON"...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Not Intersect(Target, Range("K1")) Is Nothing Then
    Target = IIf(Target = "" Or Target = "Non", "Oui", "Non")
    Columns("L:P").Hidden = IIf(Target = "Oui", False, True)
    [K2].Select
End If
'
End Sub

Pour ta deuxième question : on dirait que oui!

https://stackoverflow.com/questions/33701396/vba-validation-multiple-date-validations-on-one-cell

A+

Rechercher des sujets similaires à "afficher masquer colonnes valeur"