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

VB 6 et antérieur Discussion :

[VB6] Variable Variable


Sujet :

VB 6 et antérieur

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut [VB6] Variable Variable
    Bonjour à tous!

    Dans mon code, j'ai 5 variables nommées:
    • option1
    • option2
    • option3
    • option4
    • option5


    Je souhaiterais accéder à ces variables dans une boucle for de 1 à 5.

    J'ai bien essayé le option & i mais à priori VB n'en veut pas...

    Donc si quelqu'un a la solution... Merci!

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    utilise un tableau....

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    ce n'est pas à proprement parler la solution, mais tu peux également passer par un tableau :

    option(i)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut
    Merci pour cette réponse rapide mais je suis obligé de travailler dans la situation décrite plus haut.

    Je bosse sur un projet dont je ne peux pas modifier toutes les sources..

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Citation Envoyé par Appwal
    Je bosse sur un projet dont je ne peux pas modifier toutes les sources..
    !!! ça risque d'être compliqué (impossible?) alors...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut
    Ok!

    Va falloir que je me débrouille autrement alors...

    Merci quand même!

  7. #7
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Tu peux détailler un peu, montrer un bout de code pour nous faire voir ce que tu veux faire exactement stp ? C'est toujours délicat de répondre sans connaitre les tenants et aboutissants mais peut être que la fonction Choose pourrait être utile.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut
    A vrai dire il n'y a pas grand chose de plus dans mon code:

    C'est vraiment juste une boucle for avec un accès à ces variables à l'intérieur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For i = 1 To 5
          If (Option & i = "ZONEOPTION") Then
                Trouve = True
          End If
    Next i

  9. #9
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 To 5
      If Choose(i, Option1, Option2, Option3, Option4, Option5) = "ZONEOPTION" Then
        Trouve = True
      End If
    Next i

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut
    Merci bien

    Et sinon, pour ma culture générale, il est donc impossible d'avoir des "variables variables" en VB?

  11. #11
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    De manière simple en tout cas je ne vois pas, sinon c'est peut etre possible mais pas dans mes cordes.
    C'est pourquoi on utilise des tableaux, c'est tout de même nettement plus efficace

  12. #12
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    Citation Envoyé par Appwal
    Merci bien

    Et sinon, pour ma culture générale, il est donc impossible d'avoir des "variables variables" en VB?
    Si, c'est juste tafaçon de l'écrire qui est incorrecte, tu associe un nom (string) avec i (integer), ca ira jamais

    Ton nom doit devenir : Option & Trim(Str(i)) qui transforme ton indice en string

  13. #13
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    même pas fait gaffe à ça


  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut
    Ah ca c'est sympa

    Merci à vous

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Citation Envoyé par khany
    Si, c'est juste tafaçon de l'écrire qui est incorrecte, tu associe un nom (string) avec i (integer), ca ira jamais

    Ton nom doit devenir : Option & Trim(Str(i)) qui transforme ton indice en string
    Euh... d'accord pour la concaténation de types différents mais Option, c'est quoi du coup ?

    Je ne vois pas comment ça peut marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Dim mavar1 As String
        '
        mavar1 = "blabla"
        '
        MsgBox "mavar" & Trim$(Str$(1))  '=> mavar1 et non blabla
        MsgBox mavar & Trim$(Str$(1))  '=> mavar est non défini et pour cause...
        '

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 55
    Par défaut
    Exact, je viens de tester et je tombe sur le même résultat que Phifi

  17. #17
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    Je suis pourtant certaine de l'avoir déjà fait

    Peut-être pas le même cas

  18. #18
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    J'utilise ce genre de chose pour les noms de champs indexés, c'est peut-être un cas similaire

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'mon recordset a 10 champs -> monchamp1, monchamp2 etc...
    For ix = 1 to 10
         rst.Addnew
         rst("monchamp" & trim$(str$(ix))) = TxtZone(ix)
         rst.Update
         'par exemple
    Next ix
    mais pour ce qui est des variables et des objets non indexés, je n'ai jamais réussi à faire un truc pareil

  19. #19
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    il me semble que c'est impossible à faire.

    Venant du php, j'avais cherché à reproduire le fameux "$$variable" mais je n'ai pas réussi.

  20. #20
    Membre éprouvé
    Avatar de khany
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 63
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 073
    Par défaut
    Je me souviens maintenant, c'est un peu le même cas que PhiFi, des contrôles liés à des signets dans Word et des noms de contrôles lors d'ajout dynamique de contrôles avec .Add

    Désolée pour le faux espoir

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

Discussions similaires

  1. [VB6] Probleme variable dans requete
    Par Peper89 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/06/2008, 11h15
  2. [VB6] Gérer variable d'access
    Par boudincweole10 dans le forum VB 6 et antérieur
    Réponses: 15
    Dernier message: 10/05/2006, 15h26
  3. [VB6]Transferts VARIABLES de TYPE Utilisateurs entre FORMS
    Par KNITTEL dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 24/03/2006, 14h21
  4. [VB6]Les variables se vide sans aucun raison !
    Par themik dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/03/2006, 19h59

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