Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2011, 14h36   #1
Invité de passage
 
Inscription : mai 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 2
Points : 1
Points : 1
Par défaut 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.
Treguerio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 15h11   #2
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Hello
essaye:
Code :
1
2
3
4
5
6
7
8
Private Sub bouton_Click()
Dim I as Integer
For I = 1 To 50
    Me("Image" & I).Visible = False
    .MoveNext
Next I
Me("Image" & Valeur).Visible = True
End Sub
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2011, 15h23   #3
Invité de passage
 
Inscription : mai 2011
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2011
Messages : 2
Points : 1
Points : 1
Ca à l'air de fonctionner comme il faut.
Je te remerci simplifi ! Ca va beaucoup m'aider.
Treguerio est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h21.


 
 
 
 
Partenaires

Hébergement Web