Verrouiller saisie d'une textbox qui récupère valeur d'une listbox
Bonsoir à toutes et à tous,
Veuillez m'excuser par avance pour mon médiocre niveau en VBA et aussi pour mon intitulé qui n'est peut-être pas très clair. J'ai commencé un projet dans le cadre de mon activité professionnel en autodidacte, en surfant sur la toile, grâce à l'aide d'expert passionné comme certains d'entre vous. Mon projet est composé d'une feuille : base de données composée de 15 colonnes dont 14 sont récupérées dans une listbox multicolonnes.
Lorsque je sélectionne une ligne dans ma listbox, les données de mes 14 cellules sont récupérées par 11 label et 3 textbox. Mon but est de pouvoir modifier certaines information de ma base de données via ce formulaire, jusqu'à là ça va. Mon problème est que je souhaiterai que la saisie dans ma textbox12 (colonne 12) soit verrouillé lorsqu'une valeur (non nul, bien sûr) s'y trouve.
J'ai d'abord essayé via une msgbox qui afficherait un message d'erreur lors de la validation de la modification mais il reste possible de supprimer la valeur de cette textbox et ainsi valider la modif.
Voilà où j'en suis arrivé : soit j'arrive à verrouiller la textbox12 à chaque fois, soit jamais. Voici dessous mon code, je ne sais pas si j'ai la bonne méthode pour le joindre au forum, je m'en excuse par avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Private Sub ListBox1_Click()
For i = 1 To NbCol
Me("textbox" & i) = Me.ListBox1.Column(i - 1)
Next i
Me.Enreg = Me.ListBox1.Column(i - 1)
If ListBox1.List(ListBox1.ListIndex, 12) <> "" Then
TextBox12.Locked = False
Else
TextBox12.Locked = True
End If
End Sub |
Je vous remercie par avance pour votre aide qui me sera plus que précieuse !
Bonne soirée à tous
Maxgui