Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/09/2011, 10h36   #1
Futur Membre du Club
 
Inscription : août 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 72
Points : 19
Points : 19
Par défaut Masquer un bouton en VBA

Bonjour,

Dans un formulaire client j'ai un champ "C-Sites" format oui/non que je souhaite cocher si mon client à des succursales.

J'ai également dans ce formulaire, 2 boutons qui ouvrent, pour l'un, la liste de succursales rattachés à ce client et pour l'autre la liste des visites réalisées dans ses succursales.

Mon objectif est de rendre invisible ces deux boutons si j'ai coché "C-Sites", ainsi quand on visualise le formulaire client, si les 2 boutons sont visibles c'est qu'il y a des succursales.

Donc j'ai écris le code suivant:
Code :
1
2
3
4
5
6
7
8
Private Sub C_Sites__oui_non_Click()
If Me.C_Sites__oui_non = True Then
 Me.Commande170.Visible = False
If Me.C_Sites__oui_non = False Then
 Me.Commnade170.visbile = True
  End If
  End If
End Sub
Lorsque je clic sur "C-Sites" le 1er bouton est invisible, mais le problème c'est que je ne peux plus décocher "C-Sites" si je veux faire réapparaître le bouton 1.
Sauriez-vous me dire où est l'erreur dans mon code et comment ajouter dans ce code le bouton 2 ?

Merci d'avance
ortiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 10h41   #2
Membre Expert
 
Avatar de nico84
 
Homme Nicolas Guimbal
Consultant/développeur ERP
Inscription : mai 2008
Messages : 1 256
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Guimbal
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant/développeur ERP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2008
Messages : 1 256
Points : 1 872
Points : 1 872
Bonjour,

le 2e if n'est jamais exécuté car il est dans le 1er

Tu peux écrire + simplement
Code :
Me.Commande170.Visible = not Me.C_Sites__oui_non
nico84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 16h22   #3
Futur Membre du Club
 
Inscription : août 2009
Messages : 72
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 72
Points : 19
Points : 19
Bonjour nico84,

Merci pour ta réponse. Effectivement le code est plus simple et quand je coche "C_Sites_oui_non" les 2 boutons disparaissent.

MAIS, après avoir enregistrer le formulaire, lorsque je le rouvre la case est toujours cochée mais les boutons ont reparus, donc l'info n'est pas enregistrée.

Que dois-je faire ?
ortiz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 18h27   #4
Membre du Club
 
Homme Cédric MERSCH
Ordonnanceur
Inscription : novembre 2009
Messages : 48
Détails du profil
Informations personnelles :
Nom : Homme Cédric MERSCH
Localisation : France

Informations professionnelles :
Activité : Ordonnanceur
Secteur : Industrie

Informations forums :
Inscription : novembre 2009
Messages : 48
Points : 46
Points : 46
Bonjour,
je ne suis pas pro mais pour ma part je testerai la valeur de "C_Sites__oui_non" au chargement du formulaire afin de déterminer la propriété visible du contrôle.
J'ai deja appliquer cette méthode pour un sous formulaire et ca marche nickel...
Citation:
Tu peux écrire + simplement
Code :
Me.Commande170.Visible = not Me.C_Sites__oui_non
mc.schmer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2011, 07h52   #5
Membre habitué
 
Inscription : février 2005
Messages : 186
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 186
Points : 114
Points : 114
Citation:
Envoyé par ortiz Voir le message
Bonjour nico84,

Merci pour ta réponse. Effectivement le code est plus simple et quand je coche "C_Sites_oui_non" les 2 boutons disparaissent.

MAIS, après avoir enregistrer le formulaire, lorsque je le rouvre la case est toujours cochée mais les boutons ont reparus, donc l'info n'est pas enregistrée.

Que dois-je faire ?
Si tes boutons apparaissent au chargement du formulaire, c'est qu'ils sont visibles par défaut.
Donc, en mode Edition, il faut que tu sélectionnes les 2 boutons à cacher, que tu ailles dans leurs propriétés et que tu règles les propriétés Visible à False.
Ainsi, au chargement du formulaire, les boutons seront invisibles et n'apparaîtront que si tu les rends visibles avec monBouton.visible=True dans ton code.

Tu peux aussi les rendre invisibles par code au chargement du formulaire, dans la procédure Formulaire_AuChargement (je ne me rappelle plus le terme exact) monBouton.visible=False
OtObOx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h43.


 
 
 
 
Partenaires

Hébergement Web