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 :

[VBA] Enregistrer la valeur contenue dans le string et pas le string lui même


Sujet :

VBA Access

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut [VBA] Enregistrer la valeur contenue dans le string et pas le string lui même
    Bonjour à tous,

    J'ai un petit soucis de code, voilà la situation actuelle :

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        variable_debase = "salut les amis"
     
        i = "variable"
        j = i & "_debase"
        MsgBox (j)

    Mon problème est le suivant, dans ma variable j j'ai la chaine "variable_debase" alors que j'aimerai avoir "salut les amis".

    Je tripatouille depuis un petit moment, mais je n'ai pas encore trouvé de solution efficace, si quelqu'un peut me donner un coup de main.

    Merci beaucoup

  2. #2
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    j=variable_debase

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 64
    Points : 60
    Points
    60
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    variable_debase = "salut les amis"
    Grâce à cette première ligne tu as assigné "salut les amis" à ta variable : variable_debase. En d'autres termes le contenu de ta variable variable_debase est la chaîne de caractère (string) salut les amis

    Ta variable j elle contient : le contenu de de la variable i : "varaible" et/suivie de la chaîne de caractère"_debase" pauisque tu as utilisé l'opérateur de concaténation &

    le contenu de la variable j est donc bien la chaîne de caractère "variable_debase" et non pas la variable dont le nom est variable_debase

    si tu veux que le contenu de la j soit le contenu de la variable : variable_debase
    càd en gros que ta variable j soit égale à ta variable variable_debase (c'est ton droit)

    il faut inscrire l'instruction (écrite par Philippe PONS) suivante dans ton code
    voila j'espere que c'est clair car il est tôt (pour moi )

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    Bjr,

    Voir l'instruction Eval

  5. #5
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut
    Merci pour vos réponses,

    Mon code était un exemple simplifié, l'idée générale est que la premierère partie change, un peu comme ça :

    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    variable_debase = "salut les amis"
    variable2_debase = "salut les filles"
     
    If fille = 0 Then
        i = "variable"
    Else
        i = "variable2"
    End If
     
    j = i & "_debase"
    MsgBox (j)

    Je ne peux donc pas simplement dire j = variable_debase. J'ai également essayer avec la fonction eval, ca marche top si mes variables contiennent des nombres, sinon access dit qu'il ne trouve pas la variable "salut" comme s'il tentait encore d'évaluer la chaine final.

    Je sais pas trop quoi faire, je ne peux pas modifier les variables de base (il y en a plus de 50 en réalité)

  6. #6
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 47
    Points
    47
    Par défaut
    Est-ce que la deuxième partie est variable aussi? ou bien si c'est toujours "_debase"?

  7. #7
    Membre du Club

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2007
    Messages : 40
    Points : 47
    Points
    47
    Par défaut
    Parce que si la deuxième partie de ta variable est statique,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    variable_debase = "salut les amis"
    variable2_debase = "salut les filles"
     
    If fille = 0 Then
        j = variable_debase 
    Else
        j = variable2_debase
    End If
     
    MsgBox (j)
    Est-ce que c'est le cas?

  8. #8
    Membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    68
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 68
    Points : 57
    Points
    57
    Par défaut
    Salut et merci de ta réponse.

    Je me suis effectivement débrouiller de cette manières (avec un test à rallonge). Il aurait été plus facile pour moi de pouvoir utiliser ma méthode car il m'aurait suffit de faire un sub avec la première partie de la variable en paramètre d'entrée. J'aurais économisé quelques dizaines de lignes de code.

    Mais l'important, c'est d'avoir un programme qui marche

    Merci de votre aide, bonne journée

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

Discussions similaires

  1. [XL-2010] VBA : comment récupérer valeur contenue dans une page web?
    Par pegase33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/01/2012, 00h39
  2. Réponses: 1
    Dernier message: 07/04/2011, 20h28
  3. Réponses: 4
    Dernier message: 25/09/2007, 09h34
  4. Réponses: 3
    Dernier message: 13/06/2006, 16h36
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/04/2004, 18h47

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