Signaler

[VBA]désactiver un bouton en fonction de la valeur d'une cellule

Posez votre question abdellah_tadjine 107Messages postés jeudi 30 novembre 2006Date d'inscription 18 septembre 2017 Dernière intervention - Dernière réponse le 13 août 2017 à 12:11 par abdellah_tadjine
Bonjour,
bonjours, j'ai crée une application en vba userform pour gerer une petite base de donnée avec un bouton "valider"....justement je cherche un code vba pour desactiver le bouton "valider" en fonction de la valeur d'une cellule (feuil1 cellule a1)...exp....si la valeur de la (cellule a1 de la feuil1) est superieur a 5 je voudrais que le bouton "valider" soit désactivé.si moins de 5 le bouton valider reste activer...merci



Utile
+0
plus moins
Bonjour,

Pour désactiver un bouton :
  CommandButton1.Enabled = False
Donnez votre avis
Utile
+0
plus moins
Bonjour abdellah,

1) Tu as créé un doublon de ton sujet précédent :
http://www.commentcamarche.net/forum/affich-34770923-desactive-un-bouton

2) Comment se fait-il que tu reposes la même question
    alors que je l'avais déjà résolue ?

Ta réponse : « merci bcp.....ca marche »
 
Patrice33740 6143Messages postés dimanche 13 juin 2010Date d'inscription 16 octobre 2017 Dernière intervention - 11 août 2017 à 00:10
Bonjour steve

En regardant son historique, abdellah est coutumier du fait (poser plusieurs fois la même question à quelques jours d'intervalle) !

Cdlt
Patrice
Répondre
abdellah_tadjine 107Messages postés jeudi 30 novembre 2006Date d'inscription 18 septembre 2017 Dernière intervention - 11 août 2017 à 23:26
bonjour. si vous lisez bien ma deuxième question vous allez probablement constater qu'il ne ressemble pas car la 1ére question j'avais demandé le code vba pour désactiver un bouton par rapport au valeur d'un textbox, par contre ma deuxième question était comment désactiver (code vba) un bouton par rapport a une cellule d'une feuil excel exp (cellule a1 / feuil1).

merci cordialement abdallah
Répondre
steve- 12 août 2017 à 02:52
 
Bonjour abdellah,

Oui, tu as raison ; bien que très similaire, ton 2ème énoncé est différent ;
aussi, je te présente mes excuses, car ce n'est pas un sujet en double.

=============================

Avant, c'était le code de TextBox1_Change() qui décidait si le bouton
Valider allait être activé ou non ; maintenant que ça ne dépend plus
de TextBox1, comment faire ?

Il faut bien voir que ça ne peut pas être décidé par le code du bouton
Valider car alors, ce serait un peu comme « le serpent qui se mord
la queue » : ce serait en cliquant sur le bouton Valider que ça devrait
décider si ce même bouton doit être activé ou non => c'est pas bon.

---------------------------------------------------

Une 1ère solution : c'est le code d'initialisation du formulaire qui
décide, dès l'ouverture du formulaire, si le bouton Valider va
être actif ou non, selon ta cellule A1 :


Private Sub UserForm_Initialize()
  Valider.Enabled = Val([Feuil1!A1]) <= 5
End Sub

Private Sub Valider_Click()
  MsgBox "Hello !"
End Sub


---------------------------------------------------

La 2ème solution, c'est en cas de changement de A1 =>

a) code du formulaire UserForm1 :


Private Sub Valider_Click()
  MsgBox "Hello !"
End Sub


b) code de Feuil1 :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address <> "$A$1" Then Exit Sub
  With UserForm1
    .Valider.Enabled = Val(Target) <= 5: .Show
  End With
End Sub


Comme c'est le code de Feuil1, inutile de préciser cette feuille.

Mais selon le vrai cas réel, ce sera peut-être plus judicieux
d'afficher le formulaire seulement si A1<=5 :


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Address <> "$A$1" Then Exit Sub
  If Val(Target) <= 5 Then UserForm1.Show
End Sub


Merci de me donner ton avis.

Cordialement
 
Répondre
abdellah_tadjine 107Messages postés jeudi 30 novembre 2006Date d'inscription 18 septembre 2017 Dernière intervention - 13 août 2017 à 12:11
merci bcp pour votre aide..je vais essayer ced codes....
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !