Transformer un texte en nom de variable

cs_gogo56 Messages postés 3 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 2 juillet 2009 - 2 juil. 2009 à 15:49
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 2 juil. 2009 à 19:26
Bonjour,

Je voudrais pouvoir utiliser un texte pour appeler une variable du même nom

Exemple, si j'ai :
var1 = "a"
var2 = "d"
alors je voudrais pouvoir répondre le texte qu'il y a dans la variable nommée ad

Merci d'avance

6 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 juil. 2009 à 16:01
Bonjour,

Je ne comprend pas bien la question... Répondre un texte ?

je dirais Var1 & Var2 tout simplement...

Si ce n'est pas ce que tu recheche merci de détailler un peu plus ta question.

Mayzz.

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
0
cs_gogo56 Messages postés 3 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 2 juillet 2009
2 juil. 2009 à 16:49
oui mais var1 & var2 va donner "ad" (une chaîne de texte)
or je voudrais accéder au contenu de la variable dont le nom est ad
merci,
gautier
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juil. 2009 à 17:22
salut,

ceci est faisable en PHP
$truc = 'machin',
$machin = 'bonjour';

$$truc va renvoyer 'bonjour';

mais ceci n'est pas faisable en VB!

explique nous quel est ton but final, on pourra peut-être t'aider à ... t'en passer proprement ^^

<hr size="2" width="100%" />
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
2 juil. 2009 à 17:40
Bien tu ne peux pas car cette vairable n'existe pas, tu as une variable Var1 qui contient "a" et une Var2 contenant "d", ce sont des valeurs et non des variable il ne faut pas tout confondre...

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_gogo56 Messages postés 3 Date d'inscription jeudi 2 juillet 2009 Statut Membre Dernière intervention 2 juillet 2009
2 juil. 2009 à 19:12
merci pour vos réponses, je comprends qu'il est impossible de passer d'une valeur chaîne au contenu de la variable qui porte le nom de cette chaîne en vba.
je voudrais simplement que quand l'utilisateur rentre une lettre dans une cellule de la première colonne
exemple : "a", les cellules suivantes se remplissent avec les variables a2, a3, a4

pour l'instant je fais un select case sur la valeur entrée et j'indique manuellement les valeurs à rentrer dans les cellules suivantes :

Select Case LCase(Target.Value)
             Case 1
                Cells(Target.Row, Target.Column).Value = a1
                Cells(Target.Row, colchiffre).Value = va1
                Cells(Target.Row, colcontACT).Value = ca1
              Case 2 .....
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
2 juil. 2009 à 19:26
n'utilises pas des variables "a1 a2 a3" mais une collection indexée, dans ce cas, qui contiendra des items étant des tableaux de 1 à 3





    Dim c As New Collection
    Dim s(1 To 3) As String
    Dim i As Integer
    
    'exemple !!!
    For i =  1 To 5
        s(1) = "ligne
" & i & ", valeur
1"
        s(2) = "ligne
" & i & ", valeur
2"
        s(3) = "ligne
" & i & ", valeur
3"
        c.Add s, Chr$(96 + i)
    Next i
    
    
    'valeur de "d", 2e colonne ???
    MsgBox c("d")(2)





<small>
[../code.aspx?ID=39466 Coloration VB6, VBA,
VBS]
</small>








EXCEL c'est VBA , pas VB6 !!
merci de faire attention aux rubriques !
catégorie topic modifiée

<hr size ="2" width="100%" />
0
Rejoignez-nous