Modifier le nom d'une variable (objet) avec un compteur.
Bonjour,
Je suis actuellement en stage dans une entreprise et il m'est demandé de développer un programme sous access.
Ce logiciel doit être déployé sur plusieurs pc et je vous explique donc mon problème, n'étant que débutant en VBA, ( mais connaissant les bases du c ).
J'ai inclut une 50ène d'image, ainsi qu'une 20ène de menus déroulants sur la partie formulaire et doit jouer sur l'affichage de ceux ci en fonction de différents paramètres.
J'ai donc simplifié, usé et abusé de If/else sur la mise à jour de certains de mes menus déroulants et le programme fonctionne pour l'instant mais au niveau du code c'est plus que lourd, et au niveau de la maintenance cela risque de poser des soucis pour certains sur la durée ( 2200 lignes pr l'instant ) , même si je m'y retrouve.
Je voudrais donc passer de mes structures très lourdes:
pour simplifier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
Dim Valeur
image1.visible = false
image2.visible = false
image3.visible = false
...
image50.visible = false
...
'entrée de la valeur par l'utilisateur
If valeur = 1 then
image1.visible = true
else
if valeur = 2 then
image2.visible = true
else
if valeur = 3
image3.visible = true
...
else
if valeur = 50
image50.visible = true
end if
...
end if
end if
end if |
A une structure plus simple à modifier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
dim i as integer
dim valeur
image1.visible = false
image2.visible = false
image3.visible = false
...
image50.visible = false
...
'entrée de la valeur par l'utilisateur
for i = 1 to 50
If Valeur = i then
Image[i].visible = true
end if
next i
end sub |
ou directement Image[valeur].visible = true
Le fait est que je ne sais pas comment modifier le nom image ( pareil pour mes menu déroulants ) en image1 ou image2 en fonction de la valeur d'une variable qui serait 1 ou 2.
Impossibilitée de la faire via un dossier contenant les images non plus car ce programme devra se mettre sur différents ordinateurs et donc les images sont intégrés.
Je sais que lorsque je fesait du C j'utilisais souvent cela mais en VBA je ne sais pas du tout comment le faire et si quelqu'un pouvait m'en dire plus, je lui serait reconnaissant.
Merci beaucoup.
Ps: J'ai cherché depuis plusieurs jours sur les différents forums de VBA mais impossible à trouver, je précise que je suis débutant.