Bonjour à tous !

voilà, je teste actuellement les typages "private" et "public" sur des variables dans deux fichiers vbscript. En effet d'apres la doc Windows Script 5.6 on peut lire que "Les variables avec l'instruction Public sont accessibles dans toutes les procédures de tous les scripts." et "Les variables Private sont accessibles uniquement dans le script où elles ont été déclarées."

je souhaite tester l'intéret d'une variable private, aussi j'ai créé 2 scripts :

1 variable publique et une privée, déclarées et affectées dans test2.vbs

test1.vbs, qui lance test2.vbs, et ensuite appelle 2 de ses fonctions publiques (une qui fait une multiplication de deux variables et l'autre les divise; test2.vbs affiche les deux résultats)
test1.vbs m'affiche l'erreur "type incompatible" à l'apple de la fonction multiplication
Et si j'arrive à afficher quand même les deux variables dans test1.vbs celles ci sont vides ! la variable publique ne devrait elle pas être affectée ??

merci de votre aide

ps: voici le code des 2 scripts :

test1.vbs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Const bWaitOnReturn = true
Dim VBSshell
Set VBSshell = Wscript.CreateObject("WScript.Shell")
VBSshell.run "c:\scripts\test2.vbs",bWaitOnReturn
 
Call Multiplication()
 
wscript.echo "Le résultat de la division est : " _
& variable_public & " / " & variable_privee _
& " = "
Call Division()
 
If variable_public <> Empty Then 
	wscript.echo "la valeur de la variable public est " & variable_public
Else 
wscript.echo "la variable publique a une valeur vide" & variable_public
End If
 
If variable_privee <> Empty Then 
	wscript.echo "la valeur de la variable privée est " & variable_privee
Else
wscript.echo "la variable privée a une valeur vide"
End If
 
'set VBSshell = nothing
test2.vbs

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public Function Multiplication
 
      Public variable_public
      Private variable_privee
 
      ' Affectation des variables
      variable_public = 10
      variable_privee = 6
 
        ' Variable déclarée dans la portée locale d'une fonction.
        Dim resultat
        resultat = variable_public * variable_privee
        wscript.echo "Le résultat de la multiplication est : " _
		& variable_public & " * " & variable_privee _
		& " = " 
        wscript.echo resultat
      End Function
 
      Public Function Division
 
        ' Variable déclarée dans la portée locale d'une fonction.
        Dim resultat
 
        ' Réaffectation de variables dans la portée locale d'une fonction.
        variable_public = 12
        variable_privee = 4
        resultat = variable_public / variable_privee
        wscript.echo resultat
      End Function