Rendre invisible des contrôles dans access
philippe58
-
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
incaout Messages postés 347 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis bloqué sur bout de code VBA qui permettrait de rendre invisible certains contrôles en fonction d'une valeur déterminée dans une liste de choix. En effet, cette liste de choix comporte 2 possibilités et en fonction de l'une ou de l'autre je dois rendre visible certains contrôles et masquer d'autres.
merci d'avance
Je suis bloqué sur bout de code VBA qui permettrait de rendre invisible certains contrôles en fonction d'une valeur déterminée dans une liste de choix. En effet, cette liste de choix comporte 2 possibilités et en fonction de l'une ou de l'autre je dois rendre visible certains contrôles et masquer d'autres.
merci d'avance
A voir également:
- Rendre invisible des contrôles dans access
- Clé usb invisible - Guide
- Comment rendre un fichier moins lourd - Guide
- Acer quick access - Forum Logiciels
- Access runtime ✓ - Forum Access
- Une erreur pouvant rendre powerpoint instable s'est produite ✓ - Forum Powerpoint
3 réponses
Salut.
Utilise la propriété "visible" du controle que tu veux masquer ou afficher :
controle.visible = true : affiche
controle.visible = false : masque.
Cdlt
IC
Utilise la propriété "visible" du controle que tu veux masquer ou afficher :
controle.visible = true : affiche
controle.visible = false : masque.
Cdlt
IC
Bonsoir et merci pour l'info, mais je ne connais pas du tout vb et je me demande comment je dois démarrer ce code et comment je dos appeler mes différents controles.
Merci
Merci
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.
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.