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

Trouver la valeur d'une variable dont on a le nom sous forme de string

3 réponses
Avatar
Pierre Archambault
Bonjour à tous,

Cette question peut sembler incongrue mais je vous explique le contexte.

Dans un Userform, l'usager entre le nom d'une variable qui, dans le code du
programme, contient par exemple le nombre de dossiers.

À partir du Textbox contenant ce nom de variable (qui peut différer d'une
fois à l'autre) je voudrais pouvoir obtenir la valeur de cette variable.

Dans cet exemple, le nom de la variable est "NbreDossiers" et je voudrai
savoir comment coder mon programme pour que la string "NbreDossiers" soit
interprétée comme étant la variable elle-même. Bien sûr, s'il s'agissait
toujours de la même variable, je n'aurais pas ce problème mais justement,
l'utilisateur peut entrer un grand nombre de noms de variables différents.

Merci pour vos lumières.

Pierre

3 réponses

Avatar
Daniel.C
Bonsoir.
Je crois déjà avoir suivi un fil sur ce sujet. Je crois que ce que tu
demandes n'est pas possible directement.
Par exemple :

Select Case textbox1
Case "NbreDossiers"
MsgBox NbreDossiers
End Select

Cordialement.
Daniel
"Pierre Archambault" a écrit dans le
message de news: ADroj.431$
Bonjour à tous,

Cette question peut sembler incongrue mais je vous explique le contexte.

Dans un Userform, l'usager entre le nom d'une variable qui, dans le code
du programme, contient par exemple le nombre de dossiers.

À partir du Textbox contenant ce nom de variable (qui peut différer d'une
fois à l'autre) je voudrais pouvoir obtenir la valeur de cette variable.

Dans cet exemple, le nom de la variable est "NbreDossiers" et je voudrai
savoir comment coder mon programme pour que la string "NbreDossiers" soit
interprétée comme étant la variable elle-même. Bien sûr, s'il s'agissait
toujours de la même variable, je n'aurais pas ce problème mais justement,
l'utilisateur peut entrer un grand nombre de noms de variables différents.

Merci pour vos lumières.

Pierre




Avatar
LSteph
Bonsoir,
Sorte de contournement avec une collection+j'ai choisi un combo plutôt
que de risquer de taper dans un textbox un truc qui ne correspondrait pas..

--
lSteph

Dim mesVars As New Collection
Private Sub ComboBox1_Change()
Label1 = mesVars(ComboBox1)
End Sub

Private Sub UserForm_Initialize()
Dim i As Integer
mesVars.Add 7, "NBD"
mesVars.Add 14, "MaxD"
ComboBox1.AddItem "NBD"
ComboBox1.AddItem "MaxD"

End Sub

Bonjour à tous,

Cette question peut sembler incongrue mais je vous explique le contexte.

Dans un Userform, l'usager entre le nom d'une variable qui, dans le code du
programme, contient par exemple le nombre de dossiers.



Avatar
Pierre Archambault
Merci quand même, ça me permet de cesser de chercher à résoudre la
quadrature du cercle.

Je crois que je vais mettre dans un combo les différentes possibilités et
dans le code, les variables associées. Selon le choix de l'utilisateur, un
Select Case fera exécuter telle ou telle partie du code. Dommage, j'aurais
bien aimé résoudre ce problème avec une idée de génie...

Je vous remercie d'avoir pris le temps de me répondre.

Pierre


"Pierre Archambault" a écrit dans le
message de news: ADroj.431$
Bonjour à tous,

Cette question peut sembler incongrue mais je vous explique le contexte.

Dans un Userform, l'usager entre le nom d'une variable qui, dans le code
du programme, contient par exemple le nombre de dossiers.

À partir du Textbox contenant ce nom de variable (qui peut différer d'une
fois à l'autre) je voudrais pouvoir obtenir la valeur de cette variable.

Dans cet exemple, le nom de la variable est "NbreDossiers" et je voudrai
savoir comment coder mon programme pour que la string "NbreDossiers" soit
interprétée comme étant la variable elle-même. Bien sûr, s'il s'agissait
toujours de la même variable, je n'aurais pas ce problème mais justement,
l'utilisateur peut entrer un grand nombre de noms de variables différents.

Merci pour vos lumières.

Pierre