Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

accéder à une variable ou une constante d'après un string

4 réponses
Avatar
Philippe
Bonsoir à tous

existe-t-il une fonction qui permettrait accéder à une variable ou une
constante d'après un string ?

exemple:

Const VoiliVoila = 100

Sub Test()
Dim sCh1 as String, sCh2 as String, iResultat as Integer
sCh1 = "Voili"
sCh2 = "Voila"
iResultat = fonction(sCh1 & sCh2)
EndSub


Merci d'avance

4 réponses

Avatar
Joël GARBE
Bonsoir Philippe,

Sauf erreur de ma part, pas possible, car par définition, une variable,
c'est un nom, et nom pas une chaine de caractère.

Quand tu demande fonction(sch1 & sch2) c'est comme si tu écrivais

fonction("VoiliVoila") et non fonction(VoiliVoila), ce qui change tout !

il doit y avoir un moyen de détourner le Pb mais ce sera pour demain ;-)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Philippe" a écrit dans le message de news:
419bc743$0$24764$
Bonsoir à tous

existe-t-il une fonction qui permettrait accéder à une variable ou une
constante d'après un string ?

exemple:

Const VoiliVoila = 100

Sub Test()
Dim sCh1 as String, sCh2 as String, iResultat as Integer
sCh1 = "Voili"
sCh2 = "Voila"
iResultat = fonction(sCh1 & sCh2)
EndSub


Merci d'avance




Avatar
Philippe
Merci Joël pour cette réponse ultra rapide :o)

Des moyens pour contourner le problème, j'en ai trouvé à base de If ou de
Case.

Ce qui m'intéresserait, c'est une solution pour ne pas contourner.

A+


"Joël GARBE" a écrit dans le message de
news:419bc87a$0$23542$
Bonsoir Philippe,

Sauf erreur de ma part, pas possible, car par définition, une variable,
c'est un nom, et nom pas une chaine de caractère.

Quand tu demande fonction(sch1 & sch2) c'est comme si tu écrivais

fonction("VoiliVoila") et non fonction(VoiliVoila), ce qui change tout !

il doit y avoir un moyen de détourner le Pb mais ce sera pour demain ;-)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Philippe" a écrit dans le message de
news:

419bc743$0$24764$
Bonsoir à tous

existe-t-il une fonction qui permettrait accéder à une variable ou une
constante d'après un string ?

exemple:

Const VoiliVoila = 100

Sub Test()
Dim sCh1 as String, sCh2 as String, iResultat as Integer
sCh1 = "Voili"
sCh2 = "Voila"
iResultat = fonction(sCh1 & sCh2)
EndSub


Merci d'avance








Avatar
docm
Bonsoir Philippe.

Visual Basic ne permet pas d'utiliser une string pour se référer au nom
d'une variable. Contrairement à d'autres langages.
Excel, cependant, permet de se référer à un range en utilisant son nom dans
une string.
Pourquoi ne pas en profiter?

Const VoiliVoila = 100

Sub Test()
Dim sCh1 As String, sCh2 As String, iResultat As Integer
sCh1 = "Voili"
sCh2 = "Voila"

ActiveWorkbook.Names.Add Name:=sCh1 & sCh2, RefersToR1C1:="þuil1!R1C1"
Range(sCh1 & sCh2).Value = VoiliVoila
iResultat = Range(sCh1 & sCh2).Value

End Sub

Amicalement.

"Philippe" wrote in message
news:419bc983$0$24748$
Merci Joël pour cette réponse ultra rapide :o)

Des moyens pour contourner le problème, j'en ai trouvé à base de If ou de
Case.

Ce qui m'intéresserait, c'est une solution pour ne pas contourner.

A+


"Joël GARBE" a écrit dans le message de
news:419bc87a$0$23542$
Bonsoir Philippe,

Sauf erreur de ma part, pas possible, car par définition, une variable,
c'est un nom, et nom pas une chaine de caractère.

Quand tu demande fonction(sch1 & sch2) c'est comme si tu écrivais

fonction("VoiliVoila") et non fonction(VoiliVoila), ce qui change tout !

il doit y avoir un moyen de détourner le Pb mais ce sera pour demain ;-)

--

Bien cordialement,

Joël GARBE
www.joelgarbe.fr
"Philippe" a écrit dans le message de
news:

419bc743$0$24764$
Bonsoir à tous

existe-t-il une fonction qui permettrait accéder à une variable ou une
constante d'après un string ?

exemple:

Const VoiliVoila = 100

Sub Test()
Dim sCh1 as String, sCh2 as String, iResultat as Integer
sCh1 = "Voili"
sCh2 = "Voila"
iResultat = fonction(sCh1 & sCh2)
EndSub


Merci d'avance












Avatar
Alain CROS
Bonjour

Ceci peut constituer une base.

Public Const VoiliVoila = 100&
Sub Test()
Dim sCh1$, sCh2$, I&, LeFile$
sCh1 = "Voili"
sCh2 = "Voila"
LeFile$ = CurDir & Application.PathSeparator & "LeMod"
I = FreeFile
Open LeFile For Output As #I
Print #I, "Sub MaFonction()"
Print #I, "Msgbox " & sCh1 & sCh2
Print #I, "End Sub"
Close #I
With ThisWorkbook.Modules.Add
.InsertFile LeFile
Kill LeFile
Run "MaFonction"
Application.DisplayAlerts = False
.Delete
End With
Application.DisplayAlerts = True
End Sub

Alain CROS

-----Message d'origine-----
Bonsoir à tous

existe-t-il une fonction qui permettrait accéder à une
variable ou une

constante d'après un string ?

exemple:

Const VoiliVoila = 100

Sub Test()
Dim sCh1 as String, sCh2 as String, iResultat as Integer
sCh1 = "Voili"
sCh2 = "Voila"
iResultat = fonction(sCh1 & sCh2)
EndSub


Merci d'avance


.