Variables publiques

bonsoir

je m'entraine à l'utilisation des variables de type public et j'ai ecris deux petites macro toutes simple mais qui ne fonctionne pas

dans un module j'ai ecris :

Option Explicit
Public y As Integer
Sub val_y()
y = 3
End Sub

et dans un autre module :

Option Explicit
Sub calcul()
Dim x As Integer
x = 2
Range("a1") = x + y
End Sub

lorsque je lance la macro "calcul" je n'obtiens pas 5 dans la cellule a1 mais 2 ,... je n'arrive pas à trouver l'erreur alors que y est fixé

et vaut 3

Pourriez vous m'indiquer ce qui ne colle pas ?

Merci , Cordialement

Bonsoir,

Tu peux déclarer une constante, mais elle ne sera valable que dans le module où tu l'as déclarée..

Comme ceci, par exemple :

Const Y As Integer = 3
Sub ee()
Dim X As Integer
X = 5
MsgBox Y * X
End Sub

Si tu veux utiliser une variable dans tous les modules, codes de feuille ou userform, il vaut mieux passer par une fonction, style :

Function MaVar()
MaVar = 5
End Function

Tu mets cette fonction dans un module standard, et tu peux l'utiliser n'importe où...

Style :

Dans un autre module :

Sub m2()
Dim ZZ As Integer
ZZ = 2
MsgBox MaVar * ZZ
End Sub

Bon courage

Merci cosinhub ... on arrete pas d'apprendre

Rechercher des sujets similaires à "variables publiques"