Salut,
non pas possible avec ue seule ligne, regarde si ce qui suit te parait plus simple :
Sub demo2()
Dim MonControle As Object, oi As Long, ni As Long, CtrlName As String
Dans (Général), j'ai déclaré deux tableaux :
Dim TabChecko() As Integer
Dim TabCheckn() As Integer
Ensuite, dans Private Sub Form_Load(), j'ai initialisé mes tableaux :
ReDim TabChecko(5)
ReDim TabCheckn(5)
oi = 0
ni = 0
For Each MonControle In UserForm2.Controls
'on boucle sur tout les controls If TypeOf MonControle Is MSForms.CheckBox Then
'si le control est une CheckBox alors CtrlName = Left(LCase(MonControle.Name), Len("Checkx"))
' on extrait la premiere partie de son nom Select Case CtrlName
Case "checko"
'attention le nom doit etre en minuscule ! TabChecko(oi) = MonControle.Value
oi = oi + 1
Case "checkn"
'attention le nom doit etre en minuscule ! TabCheckn(ni) = MonControle.Value
ni = ni + 1
End Select
End If
Next
End Sub
A+
