Bloquer contenu d'un textbox

  • Initiateur de la discussion Initiateur de la discussion babouchate
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

B

babouchate

Guest
Bonjour,

J'aimerais bloquer le contenu d'un textbox (impossibilité d'écriture dans le textbox) si un chekbox est décoché. Et quand click sur le chekbox, le txtbox se débloque permettant ainsi la saisie d'une valeur.

Je vous remercie par avance,

H.J.
 
Re : Bloquer contenu d'un textbox

Merci Pierrot93 et Pierrejean pour les réponses.

Pierrot93, J'ai placé ta formule dans le module de l'Userform en effectuant les modifs nécessaires mais malheureusement ça ne marche pas.

Pierrejean, ta formule marche mais jej fais ca dans un Userform et si je selectionne une cellule l'userform va disparaitre et c'est ce que je jveux pas.

Je veux qu'à l'ouverutre les textbos soit bloqués puisque les chekbox sont décochés.

Merci encore une fois.
 
Re : Bloquer contenu d'un textbox

Re, bonjour PierreJean🙂

si les 2 objets sont dans l'USF :

Code:
Private Sub CheckBox1_Change()
TextBox1.Locked = CheckBox1 = 0
End Sub
Private Sub UserForm_Initialize()
If CheckBox1.Value = 0 Then TextBox1.Locked = 1
End Sub

@+
 
Re : Bloquer contenu d'un textbox

Ca marche parfaitement.
Merci Pierrot93.
Par contre j'ai une derniere question: est- ce qu'on peut modifier le textbox pour dire que la saisie est impossible . J'espere que j'etais clair!!
 
Re : Bloquer contenu d'un textbox

C'est bon j'ai trouvé.
Le changement de couleur avec la propriété backcolor fait la différence.
Quand c'est gris pas de saisie si blanc saisie.
Bonne journée et merci pour tout.
 
Re : Bloquer contenu d'un textbox

Solution adoptée in fine:

'Changement des propriétés du textbox quand la valeur du checkbox change
Private Sub checkbox_Change()
If checkbox = 0 Then
textbox.Locked = 1
textbox.BackColor = &H80000000
Else
textbox.Locked = 0
textbox.BackColor = &H80000005
End If
End Sub

'Impossibilité de saisie à l'ouverture de l'Userform
Private Sub UserForm_Initialize()
If checkbox.Value = 0 Then textbox.Locked = 1
textbox.BackColor = &H80000000

End Sub
 
Re : Bloquer contenu d'un textbox

Re

pour le fun, avec l'utilisation du code de PierreJean🙂, message lorsque tu passes sur le textbox avec la souris :

Code:
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Not CheckBox1 Then CheckBox1.SetFocus: TextBox1.ControlTipText = "TEXTBOX BLOQUE"
End Sub

Private Sub UserForm_Initialize()
CheckBox1.SetFocus
End Sub

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox1.ControlTipText = ""
End Sub

bon après midi
@+
 
Re : Bloquer contenu d'un textbox

Salut babouchate, Pierrot🙂, pierrejean🙂, le Forum

Je me permet juste une petite remarque. Mettre sa solution sur le Forum est très bien encore faut-il qu'elle soit juste. Pense à ceux que cette solution intéresse et qui font juste un Copier-Coller... cela ne fonctionnera pas et pour cause tu as oublié tous les 1 CheckBox1, TextBox1

Code:
'Changement des propriétés du textbox quand la valeur du checkbox change
Private Sub checkbox_Change()
If checkbox = 0 Then
textbox.Locked = 1
textbox.BackColor = &H80000000
Else
textbox.Locked = 0
textbox.BackColor = &H80000005
End If
End Sub

'Impossibilité de saisie à l'ouverture de l'Userform
Private Sub UserForm_Initialize()
If checkbox.Value = 0 Then textbox.Locked = 1
textbox.BackColor = &H80000000

End Sub
Au lieu de réécrire ton code (source d'erreurs) fait un copier Coller entre les Balises [ CODE][ /CODE] représenté par # c'est beaucoup plus lisible.

Code:
'Changement des propriétés du textbox quand la valeur du checkbox change
Private Sub CheckBox1_Change()
If CheckBox1 = 0 Then
TextBox1.Locked = 1
TextBox1.BackColor = &H80000000
Else
TextBox1.Locked = 0
TextBox1.BackColor = &H80000005
End If
End Sub

'Impossibilité de saisie à l'ouverture de l'Userform
Private Sub UserForm_Initialize()
If CheckBox1.Value = 0 Then TextBox1.Locked = 1
TextBox1.BackColor = &H80000000

End Sub
Bonne Journée
 
Re : Bloquer contenu d'un textbox

Re

pour Skoobi

modifier comme suit peut être :

Code:
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Not CheckBox1 Then CheckBox1.SetFocus: TextBox1.ControlTipText = "TEXTBOX BLOQUE"
End Sub
Private Sub UserForm_Initialize()
[B]TextBox1.TabStop = 0[/B]
CheckBox1.SetFocus
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox1.ControlTipText = ""
End Sub
[B]Private Sub CheckBox1_Change()
TextBox1.TabStop = CheckBox1
End Sub[/B]

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
507
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
316
Retour