Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe lequel
des chiffres dans les 8 textBox, et je dois pouvoir tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le code
soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe lequel
des chiffres dans les 8 textBox, et je dois pouvoir tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le code
soit au point.
Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe lequel
des chiffres dans les 8 textBox, et je dois pouvoir tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le code
soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe lequel
des chiffres dans les 8 textBox, et je dois pouvoir tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le code
soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
ugM7w7xZGHA.5108@TK2MSFTNGP05.phx.gbl...
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe lequel
des chiffres dans les 8 textBox, et je dois pouvoir tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le code
soit au point.
Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe lequel
des chiffres dans les 8 textBox, et je dois pouvoir tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le code
soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe
lequel des chiffres dans les 8 textBox, et je dois pouvoir tous les
renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
ugM7w7xZGHA.5108@TK2MSFTNGP05.phx.gbl...
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe
lequel des chiffres dans les 8 textBox, et je dois pouvoir tous les
renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.
Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe
lequel des chiffres dans les 8 textBox, et je dois pouvoir tous les
renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour,
??? avec des CheckBox9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" a écrit dans le message de news:Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe
lequel des chiffres dans les 8 textBox, et je dois pouvoir tous les
renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour,
??? avec des CheckBox
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
eWRNyV2ZGHA.1192@TK2MSFTNGP04.phx.gbl...
Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
ugM7w7xZGHA.5108@TK2MSFTNGP05.phx.gbl...
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe
lequel des chiffres dans les 8 textBox, et je dois pouvoir tous les
renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.
Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour,
??? avec des CheckBox9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" a écrit dans le message de news:Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre que
j'inscris dans un des 8 textBox. Je dois pouvoir inscrire n'importe
lequel des chiffres dans les 8 textBox, et je dois pouvoir tous les
renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain" &
i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour
Non Il ne s'agit pas de ce problème. Ce sont bien des cases à cocher et
OptTerrain1 n'est qu'un nom de controle (name).
RobertBonjour,
??? avec des CheckBox9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" a écrit dans le message de news:Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre
que j'inscris dans un des 8 textBox. Je dois pouvoir inscrire
n'importe lequel des chiffres dans les 8 textBox, et je dois pouvoir
tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain"
& i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour
Non Il ne s'agit pas de ce problème. Ce sont bien des cases à cocher et
OptTerrain1 n'est qu'un nom de controle (name).
Robert
Bonjour,
??? avec des CheckBox
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
eWRNyV2ZGHA.1192@TK2MSFTNGP04.phx.gbl...
Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
ugM7w7xZGHA.5108@TK2MSFTNGP05.phx.gbl...
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre
que j'inscris dans un des 8 textBox. Je dois pouvoir inscrire
n'importe lequel des chiffres dans les 8 textBox, et je dois pouvoir
tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.
Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain"
& i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour
Non Il ne s'agit pas de ce problème. Ce sont bien des cases à cocher et
OptTerrain1 n'est qu'un nom de controle (name).
RobertBonjour,
??? avec des CheckBox9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" a écrit dans le message de news:Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre
que j'inscris dans un des 8 textBox. Je dois pouvoir inscrire
n'importe lequel des chiffres dans les 8 textBox, et je dois pouvoir
tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain"
& i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour,
Chez moi, ma suggestion fonctionne bien et
d'ailleurs, on peut mettre toutes les macros
dans la feuille de codes du UserForm.
Avec ma macro, quel message d'erreur reçois-tu ?
Sur quelle ligne bloque-t-elle ?
Serge
"Robert" a écrit dans le message de news:Bonjour
Non Il ne s'agit pas de ce problème. Ce sont bien des cases à cocher et
OptTerrain1 n'est qu'un nom de controle (name).
RobertBonjour,
??? avec des CheckBox9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" a écrit dans le message de news:Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre
que j'inscris dans un des 8 textBox. Je dois pouvoir inscrire
n'importe lequel des chiffres dans les 8 textBox, et je dois pouvoir
tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain"
& i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour,
Chez moi, ma suggestion fonctionne bien et
d'ailleurs, on peut mettre toutes les macros
dans la feuille de codes du UserForm.
Avec ma macro, quel message d'erreur reçois-tu ?
Sur quelle ligne bloque-t-elle ?
Serge
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
uilQHb5ZGHA.608@TK2MSFTNGP02.phx.gbl...
Bonjour
Non Il ne s'agit pas de ce problème. Ce sont bien des cases à cocher et
OptTerrain1 n'est qu'un nom de controle (name).
Robert
Bonjour,
??? avec des CheckBox
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
eWRNyV2ZGHA.1192@TK2MSFTNGP04.phx.gbl...
Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
Robert
Salut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" <nospamrg31@free.fr> a écrit dans le message de news:
ugM7w7xZGHA.5108@TK2MSFTNGP05.phx.gbl...
Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre
que j'inscris dans un des 8 textBox. Je dois pouvoir inscrire
n'importe lequel des chiffres dans les 8 textBox, et je dois pouvoir
tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.
Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain"
& i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert
Bonjour,
Chez moi, ma suggestion fonctionne bien et
d'ailleurs, on peut mettre toutes les macros
dans la feuille de codes du UserForm.
Avec ma macro, quel message d'erreur reçois-tu ?
Sur quelle ligne bloque-t-elle ?
Serge
"Robert" a écrit dans le message de news:Bonjour
Non Il ne s'agit pas de ce problème. Ce sont bien des cases à cocher et
OptTerrain1 n'est qu'un nom de controle (name).
RobertBonjour,
??? avec des CheckBox9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
le pb ne viendrait-il pas du fait qu'il s'agisse d'Opt...ionButtons.
lSteph
"Robert" a écrit dans le message de news:Bonjour serge
J'ai essayé coche mais rien ne se passe dans les cases à cocher. J'ai
compris ton code, je le trouve logique mais comme le mien, il ne
fonctionne pas.
RobertSalut Robert,
Essaie ceci :
Private Sub TextBox1_Change()
coche
End Sub
Private Sub TextBox1_Change()
coche
End Sub
...
Et dans un module standard :
Sub coche()
Set actif = UFrmTableauBad.ActiveControl
For Each patente In UFrmTableauBad.Controls
If TypeName(patente) = "CheckBox" Then
If Right(patente.Name, 1) = Right(actif.Name, 1) Then
If actif.Value <> "" Then
patente.Value = True
Else
patente.Value = False
End If
End If
End If
Next patente
End Sub
Serge
"Robert" a écrit dans le message de news:Bonsoir
Sur xl 2003
8 textbox nommés terrain1, terrain2 ...
9 Cases à cocher nommées OptTerrain1, OptTerrain2, ...
Le tout dans un userForm nommé UFrmTableauBad
Mes problèmes :
1 :Cocher automatiquement la case à cocher correspondant au chiffre
que j'inscris dans un des 8 textBox. Je dois pouvoir inscrire
n'importe lequel des chiffres dans les 8 textBox, et je dois pouvoir
tous les renseigner.
2 : Décocher les cases à cocher si le txtBx se vide.
Voici le code que j'utilise mais qui ne fonctionne pas :
Je le place dans la procédure évènement "change" des 8 txtBx.
Les MsgBox ne sont pas utiles sauf à me renseigner jusqu'à ce que le
code soit au point.Sub CocherTerrain()
Dim ctrl As Variant
Dim terrValue As Variant
Dim NomCtrl As String
Dim NoTerr As Variant
Dim i As Integer, n As Integer
For Each ctrl In UFrmTableauBad.Controls
If TypeOf ctrl Is MSForms.TextBox Then
If Left(ctrl.Name, 7) = "terrain" Then
NomCtrl = ctrl.Name
'MsgBox "Le nom du controle : " & NomCtrl
NoTerr = Right(NomCtrl, 1)
terrValue = ctrl.Value
'MsgBox terrValue
For n = 1 To 8
If NoTerr = n Then
'MsgBox "Son N° du terrain est : " & NoTerr
For i = 1 To 9
If terrValue = i Then
UFrmTableauBad.Controls.Item("TxtTerrain"
& i) = True
'MsgBox "Terrain" & i & " est : " &
UFrmTableauBad.Controls.Item("TxtTerrain" & i)
Exit Sub
'ElseIf terr = "" Then
'UFrmTableauBad.TxtTerrain1 = False
'.Controls.Item("TxtTerrain1") = False
'Exit Sub
End If
Next i
End If
Next n
End If
End If
Next
End Sub
Merci d'avance aux courageux érudits.
Robert