ChekBox
Résolu
GermPeru
Messages postés
175
Statut
Membre
-
GermPeru Messages postés 175 Statut Membre -
GermPeru Messages postés 175 Statut Membre -
Bonjour a tous,
Au travers d'une chek box je souhaiterais rendre la propiete de certaines de mes txt box enabled = true.
Le detail est que mes textbox se créent automatiquement a l´initialisation de mon USF, je pense avoir un probleme avec le nom de ces derniere mais je ne vois pas lequel
Je pense qu'il y a plus simple et plsu precis...
Merci de votre aide
Au travers d'une chek box je souhaiterais rendre la propiete de certaines de mes txt box enabled = true.
Le detail est que mes textbox se créent automatiquement a l´initialisation de mon USF, je pense avoir un probleme avec le nom de ces derniere mais je ne vois pas lequel
Private Sub ChkMod_Click()
Dim Ctrl As Control
'On compte le nb de lignes
Dim NbLignes As Long
Sheets(2).Range("A1").Select
NbLignes = Range("A1", Selection.End(xlDown)).Cells.Count
For i = 2 To NbLignes
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TxtN" & i Then
Select Case ChkMod.Value
Case True: "TxtN" & i.enabled = True
Case False: "TxtN" & i.enabled = False
End Select
End If
Next Ctrl
Next
End Sub
Je pense qu'il y a plus simple et plsu precis...
Merci de votre aide
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonsoir, tu n'expliques pas ce qui ne va pas: tu as un message d'erreur, cela ne se comporte pas quand tu espères, ...?-
-
et ainsi?
Ctrl.enabled = True
autre chose: es-tu certain deTypeName(Ctrl)
moi j'essaieraisCtrl.Name
- Merci c' est exactement ca pour tes 2 commentaires,je ne saisi pas exactement la différence entre type.name() ctrl.name mais ... cela fonctionne.
Je mets le code pour ceux que ca interesse:Private Sub ChkMod_Click() Dim Ctrl As Control 'On compte le nb de lignes Dim i As Integer Dim NbLignes As Long Sheets(2).Range("A1").Select NbLignes = Range("A1", Selection.End(xlDown)).Cells.Count For i = 2 To NbLignes For Each Ctrl In Me.Controls If Ctrl.Name = "TxtN" & i Then Select Case ChkMod.Value Case True: Ctrl.Enabled = True Case False: Ctrl.Enabled = False End Select End If Next Ctrl Next End Sub
Encore merci, yg_be
-
-
Bonjour,
Quand je lis ceci :Select Case ChkMod.Value Case True: Ctrl.Enabled = True Case False: Ctrl.Enabled = False End Select
ça me défrise.
Déjà que je n'ai plus beaucoup de cheveux...
Tout simplement pourquoi pas comme ceci :Ctrl.Enabled = ChkMod.Value
Soit :For Each Ctrl In Me.Controls If Ctrl.Name = "TxtN" & i Then Ctrl.Enabled = ChkMod.Value Next Ctrl
TypeName renvoie le nom du type de contrôle. Dans ton cas, "TextBox".
Name renvoie le nom définit dans la propriété Name du contrôle. Dans ton cas "TxtN1", "TxtN2", etc...
Avant, j'arrivais jamais à finir mes phrases... mais maintenant je