XL 2016 Appeler une variable par une autre variable.

sylvaindavid2

XLDnaute Nouveau
Bonsoir à tous.

Je pense que ma question est un peu bête mais je ne trouve pas la solution.
Comment je peux faire, pour avoir le contenu d’une variable par une autre variable ?
C’est plus facile avec une exemple :

Sub test1()

Dim D1 As Variant
Dim a As Variant
Dim b As Variant

D1 = "Diamètre outil D1"
b = "D1"
a = b
MsgBox a

End Sub

Je n’arrive pas à avoir dans le MsgBox le message : Diamètre outil D1

Avez-vous une solution par hasard ?



Merci beaucoup !!
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @sylvaindavid2, @Staple1600 :),

Je crois peut-être avoir compris ce que tu désires : une sorte d'adressage indirect.

Tu pourrais avoir plusieurs variables D1, D2, D3 qui contiennent chacune une donnée.
par exemple D1="Je suis": D2=" confiné": D3=" chez moi"

Via une variable A qui contient le nom de la variable:
  • Si on place "D1" dans A, on voudrait quelque chose qui puisse retrouver "Je suis" à partir de A
  • Si on place "D2" dans A, on voudrait quelque chose qui puisse retrouver " confiné" à partir de A
  • Si on place "D3" dans A, on voudrait quelque chose qui puisse retrouver " chez moi" à partir de A
Est ce bien interprété ?

Si oui, alors ce n'est pas prévu en VBA. Mais il existe d'autres structures que les variables pour le faire...

A+
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir ma poimme

J'ai rien compris à ton message ;)
Tu as assez d'oxygène dans ton lieu de confinement ?
Ou les émanations de gel hydroalcoolique commencent à t'étourdir?
;)

Tu peux poster un exemple VBA de ton interprétation, stp ?
 

sylvaindavid2

XLDnaute Nouveau
Oui, oui très bien ! Merci
Bon, j'ai un peu simplifier mon explication parce que c'est tellement compliqué que je ne sais pas comment l'expliquer clairement.
Une fois que j'aurai fini mon userform, je vous enverrai les fichiers pour avoir votre avis.
Mais merci à vous deux :D
 

Staple1600

XLDnaute Barbatruc
Re

Voici mon interprétation
(et non, j'ai pas sniffé mon gel hydroalcoolique ;))
VB:
Sub Tests_D()
Dim i&, tVariables
tVariables = Array("ABCD", "EFGH", 123, 456)
For i = LBound(tVariables) To UBound(tVariables)
MsgBox tVariables(i)
'Me.Controls("TextBox" & i)= tVariables(i) ' exemple pour TextBox
Next
Const vVAR1 As String = "ABC"
Const vVAR2 As String = "ABCD"
MsgBox vVAR1
MsgBox vVAR1 = CStr(tVariables(0))
MsgBox vVAR2 = CStr(tVariables(0))
End Sub
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re @Staple1600,

je te salue à nouveau bien bas :).

J'ai rien compris à ton message ;)
Je ne m'y attendais pas de toute manière. ;)

Tu as assez d'oxygène dans ton lieu de confinement ?
Ne t'en fais pas, je suis déjà un bon client d'une des filiales d'Air Liquide.

Ou les émanations de gel hydroalcoolique commencent à t'étourdir?
Alors j'ai fait le point. Concernant le gel hydroalcoolique : Je n'en ai plus. Je pourrais en fabriquer:
  • La glycérine liquide peut elle être avantageusement remplacée par celle des suppositoires (constitués de la même substance) qu'on aurait fait fondre ? Parce ça, j'ai.
  • Concernant la partie hydro, j'ai aussi (soit de l'eau de source soit de l'eau municipale).
  • Concernant la partie alcoolique, plus d'alcool blanc, mais j'ai des ersatz, mais c'est dommage (Voir fichier joint)

Mon interprétation de la question (et pourquoi je parlais d’adressage indirect que le dictionary transforme en adressage direct).
VB:
Sub Test()
Dim D, a

   Set D = CreateObject("scripting.dictionary")
   D.Add "D1", "Je suis"
   D.Add "D2", " confiné"
   D.Add "D3", " chez moi"

   a = "D1"
   MsgBox D(a)

   a = "D2"
   MsgBox D(a)


   a = "D3"
   MsgBox D(a)
End Sub
 

Pièces jointes

  • gel hydroalcoolique3.png
    gel hydroalcoolique3.png
    819 KB · Affichages: 9

Staple1600

XLDnaute Barbatruc
Re

•>mapomme
Pourquoi un Dick Haut plutôt que la Raie?
VB:
Sub ulirostre()
Gong = Array("Je suis", "confiné", "chez moi")
a = 2
MsgBox Gong(a)
b = 0
MsgBox Gong(b)
Bazinga = Join(Gong, "_")
MsgBox Application.Proper(Replace(Bazinga, "_", Chr(32)))
End Sub
(cf mon message précédent ou j'explorais déjà l'array)
;)
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 097
Membres
103 116
dernier inscrit
kutobi87