Afficher/Masquer colonne selon info liste déroulante

Bonjour à toutes et à tous,

Après avoir beaucoup cherché, je viens à vous pour vous demander de l'aide afin de trouver une solution à mon blocage.

Je souhaiterais que via une liste déroulante, on puisse selon l'information choisie dans la liste masquer ou afficher telle ou telle colonne. Pour cette première partie j'y suis arrivé.

2ème partie, les colonnes qui sont associée à chaque libellé de la liste peuvent être amené à changer : exemple : Libellé "Convention" affiche que les colonnes B à D et le reste est masqué mais tout un coup on souhaite que cela soit les colonnes B à G qui soit afficher comment faire sans devoir aller dans VBA pour modifier les colonnes prises en compte pour chaque libellé

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 And Target.Row = 2 Then 
      If Target.Value = "Convention" Then
            Columns("B:ZZ").Select
            Selection.EntireColumn.Hidden = False
            Columns("C:M").Select
            Range("C2").Activate
            Selection.EntireColumn.Hidden = True
            Range("N3").Select
        End If
    End If
End Sub 

Dans le code que j'ai fait, si dans la liste déroulante on choisi "Convention", les colonne affichée seront C à M mais si un jour on choisi de changer et que cela soit de C à P comment peut-on faire sans devoir obliger les personnes à devoir aller dans le code ?

J'avais pensé à faire des plages en leur donnant un nom mais je ne sais pas comment introduire ces plages dans mon code.

Auriez-vous une solution adaptée ? même s'il faut aller chercher cette information dans une autres feuille et cellule qui serait rempli par les utilisateurs pour informer que tel libellé va de tel à tel colonne.

Dans l'attente de votre retour, je vous souhaite à toutes et tous une très belle journée

Bonjour,

A votre place, je créerais une table de paramètres avec le mot code, la colonne début, la colonne fin. Puis je testerais le mot code avec une boucle sur la table pour récupérer les colonnes.

Bonjour,

Merci pour ton retour Eric, mais je ne sais pas créer des tableaux, du coup auriez-vous une solution qui pourrait fonctionner avec le code que j'ai déjà fait.

Je vous mets le fichier excel avec le code.

Un Gigantesque merci d'avance de votre/vos retour(s)

32fichier-test.xlsm (17.63 Ko)

OHHHHH C'est magnifique Eric, merci beaucoup, j'en attendais pas autant.

Un gigantesque merci d'avoir fait le travail à ma place, ça me touche au plus profond.

Si j'ose encore poser une dernière question. Est-ce possible de masquer plusieurs colonne mais qui ne se suivent pas ?

Exemple : quand "Convention" est sélectionné dans la liste déroulante, c'est la colonne C F à G et I qui est masqué et pas le reste

Et est-ce possible de laisser toujours visible les colonne A B et C ?

Dans l'attente de ton retour ou d'un retour d'une autre personne, d'avance encore un merci mais ENORME et une très belle soirée d'avance.

PS : je remets le fichier juste unique qu'a fait Eric si besoin

Je rectifie juste un petit truc à mon dernier message :

Ma question était : serait-ce possible d'afficher plusieurs colonne mais qui ne se suivent pas

Exemple : A à D

Résultat souhaité : A à D et G à I (et que les colonnes comprises entre D et G soit masquée)

Et si cela est possible, est-ce possible aussi avec une 3ème variable : A à D + G à I + K à Z en affiché et les autres masquée

Une très belle soirée à vous toutes et tous

Rechercher des sujets similaires à "afficher masquer colonne info liste deroulante"