IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Modifier le nom d'une variable (objet) avec un compteur. [AC-2003]


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Points : 2
    Points
    2
    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 : 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.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Hello
    essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Candidat au Club
    Inscrit en
    Mai 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Ca à l'air de fonctionner comme il faut.
    Je te remerci simplifi ! Ca va beaucoup m'aider.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] instancier une classe avec son nom dans une variable
    Par Nnay_ dans le forum Langage
    Réponses: 1
    Dernier message: 12/02/2009, 12h49
  2. [PHP 5.2] Récupérer une variable POST avec une variable comme nom
    Par bailamos dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2008, 14h59
  3. Réponses: 2
    Dernier message: 06/11/2007, 13h23
  4. Comment modifier le nom d'une variable?
    Par dagra dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2007, 10h23
  5. Modifier le nom d'une base de donnée avec erreur sy
    Par mmn dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/11/2003, 10h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo