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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.