cs_ScRunCHy
Messages postés13Date d'inscriptionjeudi 3 juillet 2008StatutMembreDernière intervention21 avril 2009
-
4 août 2008 à 15:41
franck453
Messages postés19Date d'inscriptionjeudi 1 mai 2003StatutMembreDernière intervention28 septembre 2011
-
5 août 2008 à 10:27
Salut à tous,
J'ai un pb concernant la création et le remplissage d'un tableau. J'ai fait plein de recherches sur le net et je n'ai pas trouvé de réponse à une question qui parrait pourtant élémentaire...
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)
Et lorsque je clique sur un bouton "valider", je souhaite remplir ces tableaux avec la valeur des CheckBox que j'ai dans ma Form2. Pour cela je suis obligé d'écrire :
J'ai essayé en écrivant :
Dim TabChecko
TabChecko = Array(Checko1.Value,Checko2.Value,Checko3.Value,Checko4.Value,Checko5.Value)
Mais ensuite, une instruction du type TabChecko(i) ne fonctionne pas...
Je pourrais me contenter de cette écriture mais j'ai plusieurs tableaux à déclarer et le code va devenir très lourd....
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201315 4 août 2008 à 17:20
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