Comment initialiser 100 variables rapidement - VB/VBA/VBS - Programmation
Marsh Posté le 29-11-2004 à 16:59:27
utilise plutot un tableau champ(n)
Dim champ(100)
...
champ(i)=j
...
Marsh Posté le 09-12-2004 à 16:40:46
dim i as byte
dim j as integer
dim champ(100) as integer
for i=0 to 99
champ(i)=j
j=j+5
next i
Marsh Posté le 14-12-2004 à 12:52:14
Et si ma variable est une combobox que je veux faire varier de 1 à 10?
Exemple ComboBox1 --> ComboBox10
Marsh Posté le 14-12-2004 à 13:52:26
ben tu fais un tableau de ComboBox ![]()
Marsh Posté le 14-12-2004 à 15:23:33
et si tu es en VB tu peut faire des index : ComboBox(0) ... ComboBox(i)
Marsh Posté le 14-12-2004 à 18:44:03
si tu est en visual basic ( je croit qu'en VBA ca ne marche pas ) tu crée un combobox, tu le copie et le colle sur la meme form et VB te demande si tu veux créer un "groupe de controle", comme ca tu auras :
combobox(0)
combobox(1)
combobox(2)
..etc que tu pourras adresser par combobox(i)
Marsh Posté le 15-12-2004 à 14:27:29
Effectivement, les arrays de contrôles ne sont pas prévus en VBA. Peut-être peux-tu accéder à une propriété nommée Controls, et intégrée à ta feuille? Car à ce moment là, tu peux accéder au contrôle que tu veux via son nom (sous forme de String donc). Je te laisse imaginer comment tu peux faire ta boucle ![]()
Marsh Posté le 16-12-2004 à 09:19:46
Après des heures de recherche, voici enfin la solution :
Dim i As Byte
For i = 1 To 8
UserForm1.Controls("ComboBox" & i) = "..."
Next i
Marsh Posté le 29-11-2004 à 09:02:57
Bonjour,
J'ai 100 variables du style champ1 --> champ100 à initialiser.
Est-il possible de faire une boucle pour remplir les variables .
Du style :
i=0
j=0
Do
i=i+1
j=j+5
(Champ & i) = j (Champ&i representerait la variable Champ1->Champ100)
loop until i = 100
Merci