Conserver la valeur d'une CheckBox (VBA) - VB/VBA/VBS - Programmation
Marsh Posté le 23-05-2006 à 13:17:11
Bonjour
Peut être en mettant la valeur par défaut à "vrai"
Marsh Posté le 23-05-2006 à 19:19:26
Probleme inverse si je renseigne la valeur "True"
La checkbox reste cochée apres enregistrement et redemarage.
Marsh Posté le 24-05-2006 à 08:42:06
Bonjour, il faut fermer ton formulaire avec la commande unload et pas hide.
Marsh Posté le 24-05-2006 à 13:32:18
Ok, mais je n'arrive pas a utiliser cette fonction.
Peux tu me donner une exemple?
Quelle est la différence entre Hide et Unload ?
merci.
Marsh Posté le 24-05-2006 à 16:24:42
formulaire.hide : Cache le formulaire
Tu ne vois pas le formulaire mais il est toujours là, et les valeurs de tes variables (comme ta checkbox) se trouvent toujours en mémoire.
unload(formulaire) : Ferme le formulaire
Toutes les informations qui lui sont attribuées sont perdues.
Si unload ne fonctionne pas en VBA, essaye docmd.close
Marsh Posté le 30-05-2006 à 17:34:00
docmd.Close ne fonctionne pas non plus.
Qui a une solution?
Marsh Posté le 31-05-2006 à 09:08:15
Sur un événement d'un formulaire nommé frmTruc, tu fais
Unload Me
Sur un événement d'un formulaire nommé frmMachin, mais voulant fermer frmTruc, tu fais
Unload frmTruc
Docmd.Close fonctionne en VBA/Access
Rien de compliqué, suffit de lire la doc.
Marsh Posté le 31-05-2006 à 22:16:38
juans a écrit : Mais si je coche la checkbox, que je ferme excel puis que je réouvre mon fichier puis l'userform, la checkbox n'est plus cochée. |
Si tu veux garder l'état d'une chkbox, même après avoir fermé excel, il faut que tu enregistre cette valeur dans une feuille: c'est à dire qu'il faut que tu lies la source de cette chkbox à une cellule. Ainsi, à la réouverture de ton classeur, quand la form sera rechargée, elle ira chercher la bonne valeur (true/false) dans la cellule.
kenavo,
Jean-Marc
Marsh Posté le 10-03-2010 à 16:58:57
Bonjour à tous !
Un petit souçi m'a fait surfer sur ce forum, voiçi mon problème...
Je developpe une appli géstion utilisateurs sur Access (VB), et dans cette appli, la première chose que je récupère est le nom du user connécté, puis son profile avec un DLookup via le code suivant:
oProfileID = DLookup("[PROFILE_ID]", "tbl_Users", "[USER_NAME]= '" & Environ("USERNAME" ) & "'" )
oFormID = DLookup("[Form_ID]", "tbl_Forms", "[Form_Name]= '" & Me.Name & "'" )
Cependant, comme cette action doit impérativement être éxecuter à chaque ouverture de form de la base de données, j'aimerais faire en sorte de n'éxecuter ceci qu'une seule fois, et ce sur le premier form ouvert par le user et non à chaque ouverture d'un nouveau form. En quelque sorte garder cette info (ProfileID récupéré) en mémoire...
Ma question: COMMENT FAIRE ???
Merci par avance !!!
Marsh Posté le 10-03-2010 à 18:24:34
Soit en l'inscrivant en dur dans une table temporaire. Soit en créant une variable publique dans un module.
Marsh Posté le 12-03-2010 à 11:57:02
(Et si ton formulaire "Menu" reste tout le temps ouvert, un controle tout bete qui stocke cette valeur, ou directement dans le Tag du dit formulaire)
Marsh Posté le 23-05-2006 à 10:51:48
Bonjour,
J'ai créé une userform avec des checkbox
J'ai également ajouté un bouton "valider" sur cette meme Userform (avec action .Hide)
Lorsque je coche une checkbox et que je ferme puis réouvre mon userform, la checkbox est toujours cochée.
Mais si je coche la checkbox, que je ferme excel puis que je réouvre mon fichier puis l'userform, la checkbox n'est plus cochée.
Comment faire pour garder les paramètres d'une checkbox?
Thanks
Juans