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

portée des variables

5 réponses
Avatar
Le Nordiste
Bonjour tertous,

J'ai un classeur avec 2 feuilles (Feuil1 et Feuil2), trois modules de
codes (Module1, Module2 et Module3).

Je voudrais que le code de Feuil1 tienne compte de variable(s)
(bool=E9en ou long, voire string) celle(s) ci recevant une valeur dans
un module, disons Module2.

Remerciements anticip=E9s,
Le Nordiste.

5 réponses

Avatar
Yvan
Bonjour "Le Nordiste"

Comme tu dis en objet, c'est une question de portée des variables.

Il faut que ta variable MaVariable soit déclarée Public en tête de ton module2
(avant le premier Sub, Property ou Function) comme ceci:

Public MaVariable as Boolean (par exemple).

Tu l'appelles ensuite là où tu en as besoin dans le code de Feuil2 en la nommant
Module2.MaVariable

@+

Yvan

"Le Nordiste" a écrit dans le message de news:

Bonjour tertous,

J'ai un classeur avec 2 feuilles (Feuil1 et Feuil2), trois modules de
codes (Module1, Module2 et Module3).

Je voudrais que le code de Feuil1 tienne compte de variable(s)
(booléen ou long, voire string) celle(s) ci recevant une valeur dans
un module, disons Module2.

Remerciements anticipés,
Le Nordiste.
Avatar
lSteph
Bonjour,

''**module1***
Option Explicit
Public toto As String, tst As Boolean
''**module2***
Option Explicit
Sub test()
Call initmsg
If tst Then MsgBox toto
End Sub
''**module3***
Option Explicit
Sub initmsg()
tst = True
toto = "mon message"
End Sub
''***

'lSteph


"Le Nordiste" a écrit dans le message de
news:
Bonjour tertous,

J'ai un classeur avec 2 feuilles (Feuil1 et Feuil2), trois modules de
codes (Module1, Module2 et Module3).

Je voudrais que le code de Feuil1 tienne compte de variable(s)
(booléen ou long, voire string) celle(s) ci recevant une valeur dans
un module, disons Module2.

Remerciements anticipés,
Le Nordiste.
Avatar
Le Nordiste
Merci pour votre aide à tous deux,

Et si je déclare MaVariable dans le module WokkBook qu'elle est sa
portée ?

Si je déclare MaVariable dans M1 et M2 : Est ce possible d'abord ?
Dans l'affirmative puis je faire appel aux deux dans Feuil1 sous la
forme M1.MaVariable et M2.MaVariable ?

Le Nordiste
Avatar
Yvan
Re-Bonjour

Si tu déclare ta variable dans ThisWorkbook (toujours en Public bien sûr), tu
pourras y accéder par ThisWorkbook.MaVariable

Si tu déclare MaVariable à la fois dans deux modules distincts M1 et M2, tu
devras y accéder obligatoirement par M1.MaVariable et M2.MaVariable (alors que
c'est facultatif si tu n'as déclaré qu'une variable sous ce nom). Sinon c'est le
débogueur qui t'enverras sur les roses pour références ambigües.

@+

Yvan



"Le Nordiste" a écrit dans le message de news:

Merci pour votre aide à tous deux,

Et si je déclare MaVariable dans le module WokkBook qu'elle est sa
portée ?

Si je déclare MaVariable dans M1 et M2 : Est ce possible d'abord ?
Dans l'affirmative puis je faire appel aux deux dans Feuil1 sous la
forme M1.MaVariable et M2.MaVariable ?

Le Nordiste
Avatar
lSteph
Bonsoir,

Commme dans l'exemple que je t'ai donné.
Déclare ta variable Public dans un seul module standard c'est suffisant!
Ensuite tu pourra l'appeler depuis un autre module même de feuille ou
thisworkbook

En revanche l'inverse ne va pas aussi simplement.

lSteph



"Le Nordiste" a écrit dans le message de
news:
Merci pour votre aide à tous deux,

Et si je déclare MaVariable dans le module WokkBook qu'elle est sa
portée ?

Si je déclare MaVariable dans M1 et M2 : Est ce possible d'abord ?
Dans l'affirmative puis je faire appel aux deux dans Feuil1 sous la
forme M1.MaVariable et M2.MaVariable ?

Le Nordiste