OVH Cloud OVH Cloud

Définition variable selon compteur

3 réponses
Avatar
Thierry
Bonjour,

J'ai ceci pour exemple:

strMat1 =3D "Bonjour"
strMat2 =3D "Au revoir"

i =3D 0
For j =3D 1 to 2
i =3D i + 1
strMateriel =3D strMat&i
MsgBox strMateriel
strMateriel =3D ""
Next

Je souhaite afficher au premier Bonjour et au second Au=20
revoir, il ne m'affiche que la valeur de i.
J'ai d=E9j=E0 r=E9aliser ce truc, mais je ne m'en souviens pas.
Auriez vous une meilleure m=E9moire que moi?

Amicalement
Thierry

3 réponses

Avatar
Jean
Bonjour,

strMateriel=Eval("strMat"&i)

Amicalement,

Jean - JMST
Belgium

"Thierry" a écrit dans le message de news: 151e01c4e6b0$70232300$
Bonjour,

J'ai ceci pour exemple:

strMat1 = "Bonjour"
strMat2 = "Au revoir"

i = 0
For j = 1 to 2
i = i + 1
strMateriel = strMat&i
MsgBox strMateriel
strMateriel = ""
Next

Je souhaite afficher au premier Bonjour et au second Au
revoir, il ne m'affiche que la valeur de i.
J'ai déjà réaliser ce truc, mais je ne m'en souviens pas.
Auriez vous une meilleure mémoire que moi?

Amicalement
Thierry
Avatar
Thierry
Re,

Finalement, je suis parti sur un ARRAY et ça donne ça:

Dim strMat
strMat = Array("Bonjour","Au revoir")

i = 0
For j = 1 to 2
strMateriel = strMat(i)
MsgBox strMateriel
strMateriel = ""
i = i + 1
NExt

Merci encore
Amicalement
Thierry

-----Message d'origine-----
Bonjour,

J'ai ceci pour exemple:

strMat1 = "Bonjour"
strMat2 = "Au revoir"

i = 0
For j = 1 to 2
i = i + 1
strMateriel = strMat&i
MsgBox strMateriel
strMateriel = ""
Next

Je souhaite afficher au premier Bonjour et au second Au
revoir, il ne m'affiche que la valeur de i.
J'ai déjà réaliser ce truc, mais je ne m'en souviens pas.
Auriez vous une meilleure mémoire que moi?

Amicalement
Thierry
.



Avatar
Jean
Bonjour,

... la variable i ne set à rien, vous pouvez vous contenter de la variable j de la boucle :

Dim strMat
strMat = Array("Bonjour","Au revoir")

For j = 0 to 1
strMateriel = strMat(j)
MsgBox strMateriel
strMateriel = ""
Next

Amicalement,

Jean - JMST
Belgium

"Thierry" a écrit dans le message de news: 152a01c4e6b1$fbc443c0$
Re,

Finalement, je suis parti sur un ARRAY et ça donne ça:

Dim strMat
strMat = Array("Bonjour","Au revoir")

i = 0
For j = 1 to 2
strMateriel = strMat(i)
MsgBox strMateriel
strMateriel = ""
i = i + 1
NExt

Merci encore
Amicalement
Thierry

-----Message d'origine-----
Bonjour,

J'ai ceci pour exemple:

strMat1 = "Bonjour"
strMat2 = "Au revoir"

i = 0
For j = 1 to 2
i = i + 1
strMateriel = strMat&i
MsgBox strMateriel
strMateriel = ""
Next

Je souhaite afficher au premier Bonjour et au second Au
revoir, il ne m'affiche que la valeur de i.
J'ai déjà réaliser ce truc, mais je ne m'en souviens pas.
Auriez vous une meilleure mémoire que moi?

Amicalement
Thierry
.