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 :

Utilisé le contenu d'une variable pour appeler des objets [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Avril 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2013
    Messages : 73
    Points : 84
    Points
    84
    Par défaut Utilisé le contenu d'une variable pour appeler des objets
    Bonsoir,

    j'ai plusieurs objets ayant le même début de nom

    me.var01
    me.var02
    me.var03 etc.
    ...

    Dans une boucle je voudrais pouvoir utilisé un compteur pour récupérer la valeur des objets.

    dim Groupe as string
    dim x as single

    for x = 1 to 20
    groupe = groupe & "me.var" & !!!x

    next x



    Merci a l'avance

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 759
    Points : 14 793
    Points
    14 793
    Par défaut
    Bonsoir,
    ne mets pas de doubles quotes si tu veux récupérer la valeur de tes variables, sinon cela devient une constante, de plus tu dois utiliser la propriété Controls pour récupérer tes valeurs et formater le compteur de manière à forcer le 0 significatif :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim Groupe as string
    dim x as Integer
     
    for x = 1 to 20
    Groupe = Groupe & Me.Controls("Var" & Format(x, "00")).Value
     
    next x
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Membre habitué
    Homme Profil pro
    Apprendre
    Inscrit en
    Avril 2012
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Canada

    Informations professionnelles :
    Activité : Apprendre
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 147
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    ça soulève une question existentielle de mon côté, j'utilise rarement le FOR, dans ce cas précis j'aurais eu tendance à utiliser un WHILE. Quelle est la différence?

    aussi, de mon côté, j'utilise une notation un peu différente:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    i = 1                             
    Do While i <= 30
        base = "me_VAR" & CStr(i)
        Forms!Formulaire(base) = ""
        i = i + 1
    Loop
    Je convertis ma numérotation en string que j'attache à la partie commune des objets.

    Puis je tire mon information avec un me(base).

    Ça me semble équivalent...?

    Merci

  4. #4
    Membre régulier
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Avril 2013
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant CRM
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2013
    Messages : 73
    Points : 84
    Points
    84
    Par défaut
    Citation Envoyé par myrddin99 Voir le message
    Bonjour,

    ça soulève une question existentielle de mon côté, j'utilise rarement le FOR, dans ce cas précis j'aurais eu tendance à utiliser un WHILE. Quelle est la différence?

    aussi, de mon côté, j'utilise une notation un peu différente:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    i = 1                             
    Do While i <= 30
        base = "me_VAR" & CStr(i)
        Forms!Formulaire(base) = ""
        i = i + 1
    Loop
    Je convertis ma numérotation en string que j'attache à la partie commune des objets.

    Puis je tire mon information avec un me(base).

    Ça me semble équivalent...?

    Merci


    merci, intéressant comme approche

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

Discussions similaires

  1. [XL-2007] Utilisation d'une variable pour appel à des procédures
    Par Tetaye dans le forum Excel
    Réponses: 1
    Dernier message: 16/04/2015, 11h48
  2. Réponses: 10
    Dernier message: 24/08/2012, 11h17
  3. Réponses: 1
    Dernier message: 20/06/2012, 14h07
  4. [AC-2007] Utiliser une variable pour appeler les propriétés d'un objet?
    Par Vhalar dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/09/2011, 19h19
  5. Comment utiliser une variable pour appeler un objet ?
    Par kikou63 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2010, 17h54

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