[VBA] Commandbutton invisible

gia17

XLDnaute Junior
Bonjour à tous,

Est-ce que quelqu'un connait s'il vous plait un code en vba pour rendre invisible ou grisé un bouton de commande (commandbutton) tant que les textbox1 et texbox2 sont vides ?

Il faut rentrer le code dans userfom_Activate ?

Merci par avance,

Bonne soirée

Cordialement
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Commandbutton invisible

Bonjour,

regarde peut être ces 2 instructions, pour rendre inactif un bouton :

Code:
CommandButton1.Enabled = False

Pour le rendre invisible :
Code:
CommandButton1.Visible = False

tu peux mettre ces codes dans l'événement "Initialize" de l'usf.

pour rendre le bouton actif / visible, remettre ces propriétés à "True" en faisant un test sur tes "textbox" lors de la sortie...

bonne journée
@+
 

gia17

XLDnaute Junior
Re : [VBA] Commandbutton invisible

BOnjor pierrot,

merci pour cette première réponse,
en effet, je connais .eabled et .invisible, mais ce que je ne sais pas faire, c'est tester la valeur des textbox en sortie....

Merci par avance,

bonne journée à toutes et à tous

Gia17
 

gia17

XLDnaute Junior
Re : [VBA] Commandbutton invisible

Merci Pierrot, j'ai adapté ton code sur textbox2_Exit..

par contre, juste pour mon info, pourquoi le code ne fonctionne pas dans Useform_Activate ?

Car là ca va, j'ai deux userform, mais si un jour je fais un formulaire plus long avec une vingtaine de textbox, peut-on faire une boucle pour tester toutes les textbox et rendre accessible CommandButton si toutes les textbox sont remplies ?

Merci encore,

CordialementGia17
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Commandbutton invisible

Re,

il pourrait très bien fonctionner dans l'événement "activate", mais tes textbox ne seraient pas encore remplies.... sauf sur 2 usf, enfin, pas sûr d'avoir bien compris... Après tout dépend de ce que tu veux faire exactement... je te laéisse tester les différentes possibilités...
 

gia17

XLDnaute Junior
Re : [VBA] Commandbutton invisible

Je mets ci-dessous le lien pour mieux comprendre

Fichier exemple

En faite, je veux savoir s'il est possible de faire une boucle pour vérifier que les 14 textbox soient bien remplies.... Si elles le sont, le bouton commandbutton1 est accessible, sinon il reste grisé

Merci par avance à tous ceux qui prennent le temps de nous répondre

Bon appétit,

Gia17
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Commandbutton invisible

Re,

pas ouvert ton fichier, pas accès à "cjoint" mais peut être comme ceci :
Code:
Dim c As Control, b As Boolean
For Each c In Me.Controls
    If TypeName(c) = "TextBox" Then
        If c = "" Then b = True: Exit For
    End If
Next c
CommandButton1.Enabled = Not b

A noter, rarement besoin du fichier dans sa totalité, un tout petit fichier déposé sur le forum et représentant uniquement le problème posé suffit amplement...

bon après midi
@+
 

gia17

XLDnaute Junior
Re : [VBA] Commandbutton invisible

Merci pierrot,

en effet je ne pensais pas à le mettre en fichier joint...

je dois mettre ton code dans Userform_Active ou dans un module ?

Gia17
 

Pièces jointes

  • commandbutton et textbox.xls
    36.5 KB · Affichages: 257

gia17

XLDnaute Junior
Re : [VBA] Commandbutton invisible

Merci pierrot, c'est exactement ce que je cherchais...

J'ai bien mis le code dans l'événement de la dernière textbox (textbox14). On est obligé de lier le code à un objet ? Car j'ai essayé de le mettre dans Userform_Activate(j'insiste avec Activate LOL), mais ca ne fonctionne pas, ou alors il faut le modifier le code ?

Car si je ne remplie pas la textbox10 (par exemple), lorsque je tape un texte dans textbox14, le bouton n'est pas accessible : normal c'est le but du code.

Mais si je reviens sur textbox10 pour saisir du texte, le bouton n'est toujours pas accessible, puisque le code est lié à textbox14 et non textbox10... Je suis alors obligé de revenir sur textbox14 pour rendre le bouton accessible...

Je sais pas si c'est clair !!!
 

Pierrot93

XLDnaute Barbatruc
Re : [VBA] Commandbutton invisible

Re,

si tu mets ce code dans l'événement "activate" de l'usf, celui-ci se déclenchera dès le lancement de l'usf, de ce fait tu n'auras pas eus le temps de les valoriser... peut être créer un bouton spécifique qui validerait la saisie, perso je sais pas trop le résultat que tu attends de tout ca... dépend de ton projet...
 

gia17

XLDnaute Junior
Re : [VBA] Commandbutton invisible

bonsoir

Merci Pierrot pour cette explication, j'ai compris le module Userform_Activate....

Merci également à Si... j'ai testé et ca marche parfaitement... je peux l'adapter comme je le souhaitais.. Merci encore

Gia17
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 990
Membres
104 000
dernier inscrit
dinelcia