Salut,
Il faut que tu associes le code à un événement pour ta liste de choix. Tu peux faire ceci dans la fenêtre des propriétés de ta liste de choix dans l'onglet "Evenement". Là tu as la liste de tous les événements possibles pour ton controle. Par exemple, sur l'événement "onclick" si tu cliques sur le bouton en fin de ligne "...", tu as une fenêtre dans laquelle tu choisis "générateur de code". Tu arrives ensuite dans une page VBA.
Supposons que ta liste se nomme "maliste", tu auras ceci :
sub maliste_onclick()
end sub
Ceci correspond au programme qui sera exécuté chaque fois que tu cliqueras sur ta liste.
Reste donc à ajouter le code pour masquer les controles.
sub maliste_onclick()
'Reaffiche tous les contrôles. Je prend l'hypothèse que chaque ligne masque un ou plusieurs controle,
'mais qu'elles ne se cumulent pas
for each ctl in Controls
ctl.visible = true
next ctl
'Récupère la ligne sélectionnée
choix = maliste.value
'Teste la valeur du choix et masque les controles correspondant
select case choix
case "cas1" :
me.NomduControle1.visible = false
me.NomduControle3.visible = false
case "cas2" :
me.NomDuControle2.visible = false
end select
end sub
Il te faut remplace "cas1" et "cas2" par les valeurs se trouvant dans la zone de liste et déclenchant le masquage des controles. Il faut aussi remplacer les "NomDuControle" par les véritables noms des controles concernés.
Tu peux aussi choisir comme événement déclencheur "onchange" ou "afterupdate"
Bon courage
IC
PS : j'espère ne pas avoir fait d'erreurs de syntaxe.