[VBA]désactiver un bouton en fonction de la valeur d'une cellule
abdellah_tadjine
Messages postés
191
Date d'inscription
Statut
Membre
Dernière intervention
-
abdellah_tadjine Messages postés 191 Date d'inscription Statut Membre Dernière intervention -
abdellah_tadjine Messages postés 191 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- [VBA]désactiver un bouton en fonction de la valeur d'une cellule
- Desactiver rond bleu whatsapp - Guide
- Fonction si et - Guide
- Excel compter cellule couleur sans vba - Guide
- Aller à la ligne dans une cellule excel - Guide
- Comment colorer une cellule excel en fonction du contenu d'une autre cellule - Forum Bureautique
2 réponses
Bonjour abdellah,
1) Tu as créé un doublon de ton sujet précédent :
https://forums.commentcamarche.net/forum/affich-34770923-vba-desactiver-un-bouton-en-fonction-de-la-valeur-d-un-textbox
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 »
1) Tu as créé un doublon de ton sujet précédent :
https://forums.commentcamarche.net/forum/affich-34770923-vba-desactiver-un-bouton-en-fonction-de-la-valeur-d-un-textbox
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 »
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
merci cordialement abdallah
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