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

[SYNTAXE] Comment écrire X = Tableau2(jour-1) en remplaçant l'indice 2 par une variable

2 réponses
Avatar
Teddy
Bonjour à tous,

Je cherche comment écrire l'équivalent de la phrase : X = Tableau2(jour-1) en remplaçant l'indice 2
par une variable (par exemple n=1 à 12) afin de pouvoir désigner précisément un élément des tableaux
nommés Tableau1, Tableau2, ..., Tableau12.

Le but est d'éviter d'écrire dans un programme successivement selon les circonstances : X =
Tableau1(jour-1), X = Tableau2(jour-1) , ... , X = Tableau12(jour-1)

La syntaxe X="Tableau"&n(jour-1) ne fonctionne évidemment pas car elle est interprétée comme une
chaîne de caractère et non pas comprise comme le nom d'un tableau Tableau1 à Tableau12.

Je sais que c'est faisable en VB/VBScript mais je ne me rappelle plus du tout comment on fait
(faut-il utiliser les ByVal, ByRef comme pour passer des paramètres dans les fonctions ?)

Teddy

2 réponses

Avatar
Jean
Bonjour,

Ca a été discutté ici récemment.
Regardez l'instruction Execute de VBScript :
http://msdn.microsoft.com/library/en-us/script56/html/vsstmExecute.asp
Pour consulter des valeurs, utilisez la fonction Eval de VBScript :
http://msdn.microsoft.com/library/en-us/script56/html/vsfctEval.asp

Ci dessous un exemple illustrant cette instruction et cette propriété :

'---8<---
Dim Tableau1(1)
Dim Tableau2(1)
Tableau1(0)=9
Tableau1(1)
Tableau2(0)
Tableau2(1)
jour=2
For n=1 To 2
WScript.Echo Eval("Tableau"&n&"("&jour-1&")")
Execute("X=Tableau"&n&"("&jour-1&")")
WScript.Echo X
Next
'---8<---

Amicalement,

Jean - JMST
Belgium

" Teddy" a écrit dans le message de news: O$
Bonjour à tous,

Je cherche comment écrire l'équivalent de la phrase : X = Tableau2(jour-1) en remplaçant l'indice 2 par une variable (par exemple
n=1 à 12) afin de pouvoir désigner précisément un élément des tableaux nommés Tableau1, Tableau2, ..., Tableau12.

Le but est d'éviter d'écrire dans un programme successivement selon les circonstances : X = Tableau1(jour-1), X > Tableau2(jour-1) , ... , X = Tableau12(jour-1)

La syntaxe X="Tableau"&n(jour-1) ne fonctionne évidemment pas car elle est interprétée comme une chaîne de caractère et non pas
comprise comme le nom d'un tableau Tableau1 à Tableau12.

Je sais que c'est faisable en VB/VBScript mais je ne me rappelle plus du tout comment on fait (faut-il utiliser les ByVal, ByRef
comme pour passer des paramètres dans les fonctions ?)

Teddy




Avatar
Teddy
C'est exactement ce que je cherchais.
Merci beaucoup !

Ted

"Jean" <http:// a écrit dans le message de news:
%
Bonjour,

Ca a été discutté ici récemment.
Regardez l'instruction Execute de VBScript :
http://msdn.microsoft.com/library/en-us/script56/html/vsstmExecute.asp
Pour consulter des valeurs, utilisez la fonction Eval de VBScript :
http://msdn.microsoft.com/library/en-us/script56/html/vsfctEval.asp

Ci dessous un exemple illustrant cette instruction et cette propriété :

'---8<---
Dim Tableau1(1)
Dim Tableau2(1)
Tableau1(0)=9
Tableau1(1)
Tableau2(0)
Tableau2(1)
jour=2
For n=1 To 2
WScript.Echo Eval("Tableau"&n&"("&jour-1&")")
Execute("X=Tableau"&n&"("&jour-1&")")
WScript.Echo X
Next
'---8<---

Amicalement,

Jean - JMST
Belgium

" Teddy" a écrit dans le message de news:
O$
Bonjour à tous,

Je cherche comment écrire l'équivalent de la phrase : X = Tableau2(jour-1) en remplaçant
l'indice 2 par une variable (par exemple
n=1 à 12) afin de pouvoir désigner précisément un élément des tableaux nommés Tableau1, Tableau2,
..., Tableau12.

Le but est d'éviter d'écrire dans un programme successivement selon les circonstances : X =
Tableau1(jour-1), X >> Tableau2(jour-1) , ... , X = Tableau12(jour-1)

La syntaxe X="Tableau"&n(jour-1) ne fonctionne évidemment pas car elle est interprétée comme une
chaîne de caractère et non pas
comprise comme le nom d'un tableau Tableau1 à Tableau12.

Je sais que c'est faisable en VB/VBScript mais je ne me rappelle plus du tout comment on fait
(faut-il utiliser les ByVal, ByRef
comme pour passer des paramètres dans les fonctions ?)

Teddy